volc_engine_rtc 3.57.3 volc_engine_rtc: ^3.57.3 copied to clipboard
This Flutter plugin provides rtc sdk native APIs for you to implement real-time audio & video communication functions in your application.
3.57.1 #
新增特性 #
- 转推直播配置新增服务端合流控制参数 MixedStreamServerControlConfig,用于以下功能设置:
- 支持在合流转推发送 SEI 时设置 PayLoadType,以适配特定播放器作为接收端时接收 SEI 信息。参看 seiPayloadType、seiPayloadUuid。
- 支持控制 SEI 发送内容。此前服务端合流默认发送全量 SEI 信息,新版本支持单独发送音量提示 SEI,在需要高频发送音量信息的场景下,大幅减少性能开销。具体参看 API:
- enableVolumeIndication 设置是否开启单独发送声音提示 SEI 的功能;
- seiContentMode 设置 SEI 内容;
- isAddVolumeValue 设置声音信息 SEI 是否包含音量值;
- volumeIndicationInterval 设置声音信息提示间隔;
- talkVolume 设置有效音量大小。
- 支持在房间内无用户发布流的场景下,使用占位图发起转推直播任务。参看 pushStreamMode。
- 合流推到 CDN 时支持推送纯音频流。参看 mediaType。
- 转推直播支持设置合流后整体画布的背景图片。参看 MixedStreamLayoutConfig.backgroundImageUrl。
- 对远端流进行内部渲染时,支持将某一路远端流镜像渲染。参看 setRemoteVideoMirrorType。
- 新增接口 setVideoCaptureRotation 支持采集画面旋转能力,适用于无重力感应的移动设备(如金融行业用于人脸采集的设备)的画面适配。注意,对于手机、平板电脑等具备重力感应的移动设备,旋转采集画面应使用 setVideoRotationMode,参看视频采集旋转方向。
功能优化 #
- Android 端应用在使用 RTC SDK 进行视频内部采集时,长时间退后台(>1min)后再次进入前台时,RTC 将自动恢复视频采集,无需额外操作。
- 在通过回调获取本地音频信息时,支持获取人声基频信息。参看 enableAudioPropertiesReport 接口参数 AudioPropertiesConfig.enableVoicePitch。
- 调用 setLogConfig 配置 SDK 本地日志参数时,支持自定义本地日志文件名前缀,最终的日志文件名为 前缀 + "_" + 文件创建时间 + "_rtclog".log。参看 RTCLogConfig.logFilenamePrefix。
- 基础美颜新增清晰子项,并优化美颜参数默认值。使用清晰子项需要集成 v4.4.2+ 版本的特效 SDK。各基础美颜子项的默认强度调整为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。具体参看 API:
- enableEffectBeauty 开启/关闭基础美颜;
- setBeautyIntensity 调整基础美颜强度。
升级指南 #
回调变更 #
onLocalAudioPropertiesReport
回调参数数据结构AudioPropertiesInfo
新增成员变量 voicePitch 返回本地用户的人声基频。- 在 onLogout 回调上新增
reason
参数,区分用户主动/被动登出。
类型变更 #
- 在字幕内容回调 onSubtitleMessageReceived 的参数
SubtitleMessage
中新增成员变量language
和mode
,可用于同时收到字幕原文和字幕译文。 - MixedStreamLayoutRegionConfig 部分成员变量行为变更:转推直播单个用户画面由设置相对于整体画面的归一化比例变更为可设置像素绝对值。具体参看
locationX
、locationY
、width
、height
成员的参数描述。
3.54.2 #
重要说明 #
应 Apple App Store 的要求,自此版本起,RTC SDK for iOS 不再支持 armv7 架构,兼容的最低版本为 iOS 11。
新增特性 #
- 该版本起,部分功能从 SDK 中拆分出来封装成独立插件。新增 onExtensionAccessError 回调,你可以通过该回调定位访问失败的插件,并判断是否需要集成。
- 新增设置房间附加消息 API,支持设置如房间公告等与房间相关的业务属性。具体参看 setRoomExtraInfo。
- 新增接口支持开启或关闭字幕,可对房间内说话人的语音进行识别,转成文字或者进行翻译。使用该功能前,你需要开通机器翻译服务并前往 RTC 控制台,在功能配置页面开启字幕功能。具体参看 startSubtitle。
- 新增设置用户可见性结果回调,具体参看 onUserVisibilityChanged
- 新增接口 setLogConfig 支持设置本地日志级别、存储路径、可使用的最大缓存空间。
- 新增接口 enableCameraAutoExposureFaceMode 和 setCameraAdaptiveMinimumFrameRate,支持关闭人脸自动曝光功能和动态采集帧率功能。
- 新增接口 setCellularEnhancement,支持启用蜂窝网络辅助增强通信效果。
- 新增接口 setLocalProxy,支持设置本地代理。
功能优化 #
- 优化千人会议体验,开启音频选路后,支持发布端设置不参与选路,适用于要求指定用户的发言能一直被收听到的场景,例如,有固定的主持人麦位。对于每个 appId,只区分是否开启音频选路功能,不再区分房间模式。详见千人会议和音频选路。具体参看 API:setAudioSelectionConfig。
- 优化本地用户空间音频体验,支持本地用户设置自己和指定远端用户在空间音频坐标系中的位置和朝向,同时支持本地用户设置指定或全部远端用户不参与空间音频。具体参看 API:
- 废弃 updatePosition 和 updateSelfOrientation,由新增接口 updateSelfPosition 代替;
- 废弃 updateListenerPosition 和 updateListenerOrientation,由新增接口 updateRemotePosition 代替;
- 新增 removeRemotePosition
- 新增 removeAllRemotePosition
- 公共流功能优化, SEI 相关的信息回调功能,支持与 vp8、单流转封装功能同时使用。订阅端可以感知发布状态变化。
升级指南 #
API 变更 #
- 该版本为全部 API 增加返回值,通过返回值可以明确发现失败的 API 调用,定位失败原因。具体返回值的含义参看各 API 注释。
- feedback 参数数据类型变更。
- 合流转推直播接口/参数类型重命名,行为逻辑无变化,原接口废弃。
- 将混音相关的类和接口按音效和音乐进行拆分。一般来说,对于短时间的音效,如小于 20s,可以使用音效类;对于较长的音频,可以使用音乐类。具体参看 API:
- 废弃 AudioMixingManager,由 getAudioEffectPlayer 和 getMediaPlayer 替代。
- startAudioRecording 接口行为变更。在此前版本中,此接口仅支持进房后调用。自此版本后,此接口在进房前后均可调用。进房前调用,退房之后录制任务不会自动停止;进房后调用,退房之后录制任务会自动停止。
回调变更 #
- onPublicStreamSEIMessageReceived 回调参数
sourceType
的数据类型由SEIMessageSourceType
变更为DataMessageSourceType
,并进行功能拆分:- onPublicStreamSEIMessageReceived 用于接收客户端插入的 SEI 消息;
- onPublicStreamDataMessageReceived 用于接收服务端插入的 SEI 消息和其他数据信息,例如音量信息。
数据类型变更 #
- 公共流状态码 PublicStreamErrorCode 参数数据类型变更:
- 新增
pullNoPushStream
,提示因发布端未开始发布流引起的订阅失败; paramError
变更为pushParamError
;statusError
变更为pushStateError
;internalError
变更为pushInternalError
;timeOut
变更为pushTimeOut
。
- 新增
- 错误码 ErrorCode 中
overScreenPublishLimit
和overVideoPublishLimit
废弃,用overStreamPublishLimit
替代。
3.51.1 #
新增特性 #
- MediaDeviceWarning 新增啸叫检测警告
captureDetectHowling
。以下情形将触发该警告:- 不支持啸叫抑制的房间模式下,检测到啸叫;
- 支持啸叫抑制的房间模式下,检测到未被抑制的啸叫。
- 适配 iPadOS 16 多任务台前调度(Stage Manager)功能。丰富了可以通过 onVideoDeviceStateChanged 回调感知的系统摄像头状态信息,详见通话打断和恢复。
- 新增接口 setDummyCaptureImagePath 支持在关闭摄像头后上传静态图片填充本地推送的视频流。
- iOS 新增接口 setBluetoothMode,在纯媒体音频场景下,支持切换 iOS 设备与耳机之间的蓝牙传输协议。
- 新增接口 setRemoteRoomAudioPlaybackVolume,在多房间场景下,支持调节某个远端房间内的所有用户的音量。
- 新增接口 setNoAttenuationFlags 支持在启用范围语音功能时,设置相互通话不受衰减影响的小队。
- 支持检测背景声中的音乐,并保护音乐的音质。要使用此功能,请联系技术支持人员开启。
- 新增 Token 的发布/订阅权限即将过期的回调 onPublishPrivilegeTokenWillExpire 和 onSubscribePrivilegeTokenWillExpire,用于提示用户及时更新 Token 相关权限,以保证正常的音视频通话。该功能默认关闭,如有需要请联系技术支持开启。
- VoiceReverbType 新增录音棚、虚拟立体声、空旷、3D 人声等多种混响音效。
- 新增对本地采集的音频添加音量均衡效果和混响参数。详请参看 API 说明:
- setLocalVoiceEqualization 添加音量均衡效果;
- setLocalVoiceReverbParam 添加混响参数;
- enableLocalVoiceReverb 启用混响参数。
- 新增停止、暂停、恢复播放所有音频文件及混音的功能。详请参看 API 说明:
- stopAllAudioMixing 停止播放所有音频文件及混音;
- pauseAllAudioMixing 暂停播放所有音频文件及混音;
- resumeAllAudioMixing 恢复播放所有音频文件及混音。
- 新增支持会前/会中音频设备回声抑制功能检测。详请参看 API 说明:
- startHardwareEchoDetection 开启通话前回声检测;
- stopHardwareEchoDetection 停止通话前回声检测。
- 新增通过数码变焦控制摄像头画面的能力,实现画面的上、下、左、右平移以及放大、缩小。详请参看 API 说明:
- setVideoDigitalZoomConfig 设置本地摄像头数码变焦参数;
- setVideoDigitalZoomControl 控制本地摄像头数码变焦,缩放或移动;
- startVideoDigitalZoomControl 开启本地摄像头持续数码变焦,缩放或移动;
- stopVideoDigitalZoomControl 停止本地摄像头持续数码变焦。
- 根据进房时选择的业务场景自动适配音频降噪算法,满足多种场景下不同的降噪需求。新增接口 setAnsMode 支持通话过程中手动设置音频降噪模式。
- 新增接口 setPublicStreamAudioPlaybackVolume 支持调节远端公共音频在本地播放的音量。
功能优化 #
- 在使用音频信息提示获取本地和远端的音量信息时,支持开启音量平滑功能,并支持获取本地混音信息。参看传入参数 AudioPropertiesConfig 中新增的 “smooth” 参数和 “audioReportMode” 参数。
- sendSEIMessage 新增参数 “mode”,支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。
升级指南 #
头文件变更 #
原 bytertc_common_defines.dart 文件拆分为 bytertc_media_defines.dart 及 bytertc_rts_defines.dart。
API 变更 #
- registerFaceDetectionObserver 拆分为 enableFaceDetection 和 disableFaceDetection,解除人脸识别与视频特效之间的耦合,提升接口易用性。
- setScreenVideoEncoderConfig 参数类型由 “VideoEncoderConfig” 变更为 “ScreenVideoEncoderConfig”。
- 视频特效相关接口由
RTCVideo
类迁移至RTCVideoEffect
下,包括:- initCVResource 代替旧接口 checkVideoEffectLicense 和 setVideoEffectAlgoModelPath;
- enableVideoEffect 和 disableVideoEffect 代替旧接口 enableVideoEffect;
- setEffectNodes 代替旧接口 setVideoEffectNodes;
- updateEffectNode代替旧接口 updateVideoEffectNode;
- enableVirtualBackground 和 disableVirtualBackground 代替旧接口 setBackgroundSticker;
- setColorFilter 代替旧接口 setVideoEffectColorFilter;
- setColorFilterIntensity 代替旧接口 setVideoEffectColorFilterIntensity;
- 接口返回值类型变化:
- 以下接口返回值类型变更为 “int”,返回值具体含义参看 ReturnStatus:
updateToken
,setRemoteVideoConfig
,subscribeStream
,unsubscribeStream
,subscribeScreen
,unsubscribeScreen
,setVoiceChangerType
,setVoiceReverbType
; - 以下接口返回值类型变更为 “void”:
setMultiDeviceAVSync
,setLocalVideoMirrorType
,setVideoRotationMode
,setAudioRoute
,enableSimulcastMode
,setPublishFallbackOption
,setSubscribeFallbackOption
。
- 以下接口返回值类型变更为 “int”,返回值具体含义参看 ReturnStatus:
getSdkVersion
名称变更为 getSDKVersion。- setAudioRoute 行为变更,支持使用仅有媒体模式的设备作为音频路由设备。
回调变更 #
- onPublicStreamSEIMessageReceived 新增参数 “sourceType”。
- 删除
RTCRangeAudioObserver
类和相关回调。此前,在手动订阅的场景下,如果你希望使用范围语音功能,你必须根据此回调获取的衰减系数,设定音量。自此版本起,无论是手动订阅还是自动订阅,衰减效果都由 SDK 实现,无需使用此接口。 - 废弃 onRemoteAudioStateChanged 和 onRemoteVideoStateChanged,无替代回调。
- 废弃 onLocalAudioStateChanged 和 onLocalVideoStateChanged,使用 onAudioDeviceStateChanged 和 onVideoDeviceStateChanged 替代。
类型变更 #
- FaceDetectionResult 人脸检测结果新增成员变量 “frameTimestampUs”。
- UserMessageSendResult 对单个用户的消息发送结果新增值 “exceedQPS”。
- RoomMessageSendResult 房间内群发消息结果新增值 “exceedQPS”。
- 空间音频功能中表示空间坐标的 Position 的变量 x, y, z 类型由 int 更改为 double。
- RoomProfile 房间模式中默认模式 “communication” 的参数配置由与 “chatRoom” 对应变更为与 “meeting” 对应。
- onPushPublicStreamResult 和 onPlayPublicStreamResult 中的
errorCode
参数类型由 “int” 改为 PublicStreamErrorCode。 - AudioRoute 枚举值 “unknown” 变更为 “routeDefault”。
- AudioScenario 音频路由和发布订阅状态到音量类型的映射关系改变。最新的映射关系查看数据结构的文档。
3.45.2 #
新增特性 #
- AudioScenario 音频场景类型新增 “highQualityChat” 高音质畅聊模式。
- 新增接口 getAudioMixingPlaybackDuration 支持获取混音音频文件的实际播放时长,即歌曲不受停止、跳转、倍速、卡顿影响的播放时长。
- 新增接口 subscribeAllStreams 和 unsubscribeAllStreams 支持订阅和取消订阅所有用户,在上麦人数固定的场景中,可以快速实现麦位切换。
- 新增接口 setAllAudioMixingVolume 支持统一设置全局混音文件音量。
- 新增接口 takeLocalSnapshot 和 takeRemoteSnapshot 支持在客户端截取本地/远端视频图像。
- NetworkQuality 媒体流网络质量新增 “down” 反映本地网络断联状态。
3.45.1 #
- 修复了一些 bug。
3.44.1 #
- Flutter RTC SDK 正式发布