volc_engine_rtc 3.60.8 copy "volc_engine_rtc: ^3.60.8" to clipboard
volc_engine_rtc: ^3.60.8 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.60.8 #

  • 更新 RTC Native SDK 版本。
    • Android: 3.60.107.1900
    • iOS: 3.60.107.1100

3.60.6 #

  • 更新 RTC Native SDK 版本.
    • Android: 3.60.105.1900
    • iOS: 3.60.105.2300

3.60.5 #

  • 修复 Android onConnectionStateChanged 不生效的问题。
  • 修复 Android sendUserMessageOutsideRoom、sendUserBinaryMessageOutsideRoom、sendServerMessage、sendServerBinaryMessage 接口返回值类型错误的问题。

3.60.4 #

  • 修复 removeRemoteVideo 在 iOS 中无法移除远端视图的问题。

3.60.3 #

  • 修复 Android 开启混淆后, SDK 无法正常使用的 Bug。

3.60.2 #

  • 获取视频特效管理器接口 getVideoEffectPlayer 更名为 getVideoEffectInterface。
  • 创建引擎时配置项 RTCVideoContext 的 autoCreateVideoEffectPlayer 参数更名为 autoCreateVideoEffectInterface。

3.60.1 #

请参阅升级指南了解3.58.x到3.60.1的详细变更。

此版本为单流版本,这意味着:

  • 一次只能向房间内外的其他端点发送一个流。例如,您不能同时向房间发送屏幕录制内容和摄像头录制内容(音频不受此限制)。

如果您需要同时发送屏幕录制内容和摄像头录制内容,请联系我们,我们将为您提供可用的离线集成版本。

3.58.4 #

  • 修复 Android 下 startScreenCapture 接口返回值类型错误导致 Flutter 抛错的问题 (不影响功能使用)。
  • 修复 iOS 下离房时有概率触发 No implementation found for method cancel 的错误。
  • 修改 3.58.3 版本 ChangeLog 中的描述错误。

3.58.3 #

变化详情可参考: 变更内容。

新增特性 #

支持 Android 16KB Page size。

支持 Android/iOS Platform 的音频数据回调:

  • registerAudioFrameObserver: 注册/注销 音频数据回调观察者
  • enableAudioFrameCallback: 开启音频回调
  • disableAudioFrameCallback: 关闭音频回调
  • RTCAudioFrameObserverEventHandler.onRecordAudioFrame: 返回麦克风录制的音频数据
  • RTCAudioFrameObserverEventHandler.onPlaybackAudioFrame: 返回订阅的所有远端用户混音后的音频数据
  • RTCAudioFrameObserverEventHandler.onRemoteUserAudioFrame: 返回远端单个用户的音频数据
  • RTCAudioFrameObserverEventHandler.onMixedAudioFrame: 返回本地麦克风录制和订阅的所有远端用户混音后的音频数据

API 变更 #

SDK 对流媒体的发布和订阅上切分了视频、音频维度。

  • RoomConfig.isAutoPublish ---> RoomConfig.isPublishVideo/RoomConfig.isPublishAudio
  • unpublishStream/publishStream ---> publishStreamVideo/publishStreamAudio
  • unpublishScreen/publishScreen ---> publishScreenVideo/publishScreenAudio
  • subscribeStream/unsubscribeStream ---> subscribeStreamVideo/subscribeStreamAudio
  • subscribeScreen/unsubscribeScreen ---> subscribeScreenVideo/subscribeScreenAudio

以及上述涉及的 API 所相关的回调也有相应的变化。

3.58.2 #

修复问题 #

  1. 设置远端视频渲染画面时,支持设置渲染角度

3.58.1 #

新增特性 #

  1. 支持内部采集信号静音控制(不改变本端硬件)。可以选择静音或取消静音麦克风采集,而不影响 SDK 音频流发布状态。参看 muteAudioCapture
  2. 在 Android 平台,在支持渲染 View 对象的基础上,新增支持渲染 Surface 对象。
  3. 音乐和音效播放状态回调新增代表播放结束的枚举值 PlayerState。

3.57.3 #

修复问题 #

  1. 修复多次释放渲染 view 偶现 crash 问题

3.57.2 #

修复问题 #

  1. 修复了在 gradle 8 以上版本,编译失败问题。

3.57.1 #

新增特性 #

  1. 转推直播配置新增服务端合流控制参数 MixedStreamServerControlConfig,用于以下功能设置:
    • 支持在合流转推发送 SEI 时设置 PayLoadType,以适配特定播放器作为接收端时接收 SEI 信息。参看 seiPayloadType、seiPayloadUuid。
    • 支持控制 SEI 发送内容。此前服务端合流默认发送全量 SEI 信息,新版本支持单独发送音量提示 SEI,在需要高频发送音量信息的场景下,大幅减少性能开销。具体参看 API:
    • 支持在房间内无用户发布流的场景下,使用占位图发起转推直播任务。参看 pushStreamMode。
    • 合流推到 CDN 时支持推送纯音频流。参看 mediaType。
  2. 转推直播支持设置合流后整体画布的背景图片。参看 MixedStreamLayoutConfig.backgroundImageUrl。
  3. 对远端流进行内部渲染时,支持将某一路远端流镜像渲染。参看 setRemoteVideoMirrorType。
  4. 新增接口 setVideoCaptureRotation 支持采集画面旋转能力,适用于无重力感应的移动设备(如金融行业用于人脸采集的设备)的画面适配。注意,对于手机、平板电脑等具备重力感应的移动设备,旋转采集画面应使用 setVideoRotationMode,参看视频采集旋转方向。

功能优化 #

  1. Android 端应用在使用 RTC SDK 进行视频内部采集时,长时间退后台(>1min)后再次进入前台时,RTC 将自动恢复视频采集,无需额外操作。
  2. 在通过回调获取本地音频信息时,支持获取人声基频信息。参看 enableAudioPropertiesReport 接口参数 AudioPropertiesConfig.enableVoicePitch。
  3. 调用 setLogConfig 配置 SDK 本地日志参数时,支持自定义本地日志文件名前缀,最终的日志文件名为 前缀 + "_" + 文件创建时间 + "_rtclog".log。参看 RTCLogConfig.logFilenamePrefix。
  4. 基础美颜新增清晰子项,并优化美颜参数默认值。使用清晰子项需要集成 v4.4.2+ 版本的特效 SDK。各基础美颜子项的默认强度调整为:美白 0.7,磨皮 0.8,锐化 0.5,清晰 0.7。具体参看 API:

升级指南 #

回调变更 #

  1. onLocalAudioPropertiesReport 回调参数数据结构 AudioPropertiesInfo 新增成员变量 voicePitch 返回本地用户的人声基频。
  2. 在 onLogout 回调上新增 reason 参数,区分用户主动/被动登出。

类型变更 #

  1. 在字幕内容回调 onSubtitleMessageReceived 的参数 SubtitleMessage 中新增成员变量 language 和 mode,可用于同时收到字幕原文和字幕译文。
  2. MixedStreamLayoutRegionConfig 部分成员变量行为变更:转推直播单个用户画面由设置相对于整体画面的归一化比例变更为可设置像素绝对值。具体参看 locationX、locationY、width、height 成员的参数描述。

3.54.2 #

重要说明 #

应 Apple App Store 的要求,自此版本起,RTC SDK for iOS 不再支持 armv7 架构,兼容的最低版本为 iOS 11。

新增特性 #

  1. 该版本起,部分功能从 SDK 中拆分出来封装成独立插件。新增 onExtensionAccessError 回调,你可以通过该回调定位访问失败的插件,并判断是否需要集成。
  2. 新增设置房间附加消息 API,支持设置如房间公告等与房间相关的业务属性。具体参看 setRoomExtraInfo。
  3. 新增接口支持开启或关闭字幕,可对房间内说话人的语音进行识别,转成文字或者进行翻译。使用该功能前,你需要开通机器翻译服务并前往 RTC 控制台,在功能配置页面开启字幕功能。具体参看 startSubtitle。
  4. 新增设置用户可见性结果回调,具体参看 onUserVisibilityChanged
  5. 新增接口 setLogConfig 支持设置本地日志级别、存储路径、可使用的最大缓存空间。
  6. 新增接口 enableCameraAutoExposureFaceMode 和 setCameraAdaptiveMinimumFrameRate,支持关闭人脸自动曝光功能和动态采集帧率功能。
  7. 新增接口 setCellularEnhancement,支持启用蜂窝网络辅助增强通信效果。
  8. 新增接口 setLocalProxy,支持设置本地代理。

功能优化 #

  1. 优化千人会议体验,开启音频选路后,支持发布端设置不参与选路,适用于要求指定用户的发言能一直被收听到的场景,例如,有固定的主持人麦位。对于每个 appId,只区分是否开启音频选路功能,不再区分房间模式。详见千人会议和音频选路。具体参看 API:setAudioSelectionConfig。
  2. 优化本地用户空间音频体验,支持本地用户设置自己和指定远端用户在空间音频坐标系中的位置和朝向,同时支持本地用户设置指定或全部远端用户不参与空间音频。具体参看 API:
  3. 公共流功能优化, SEI 相关的信息回调功能,支持与 vp8、单流转封装功能同时使用。订阅端可以感知发布状态变化。

升级指南 #

API 变更 #

  1. 该版本为全部 API 增加返回值,通过返回值可以明确发现失败的 API 调用,定位失败原因。具体返回值的含义参看各 API 注释。
  2. feedback 参数数据类型变更。
  3. 合流转推直播接口/参数类型重命名,行为逻辑无变化,原接口废弃。
  4. 将混音相关的类和接口按音效和音乐进行拆分。一般来说,对于短时间的音效,如小于 20s,可以使用音效类;对于较长的音频,可以使用音乐类。具体参看 API:
  5. startAudioRecording 接口行为变更。在此前版本中,此接口仅支持进房后调用。自此版本后,此接口在进房前后均可调用。进房前调用,退房之后录制任务不会自动停止;进房后调用,退房之后录制任务会自动停止。

回调变更 #

  1. onPublicStreamSEIMessageReceived 回调参数 sourceType 的数据类型由 SEIMessageSourceType 变更为 DataMessageSourceType,并进行功能拆分:

数据类型变更 #

  1. 公共流状态码 PublicStreamErrorCode 参数数据类型变更:
    • 新增 pullNoPushStream,提示因发布端未开始发布流引起的订阅失败;
    • paramError 变更为 pushParamError;
    • statusError 变更为 pushStateError;
    • internalError 变更为 pushInternalError;
    • timeOut 变更为 pushTimeOut。
  2. 错误码 ErrorCode 中 overScreenPublishLimit 和 overVideoPublishLimit 废弃,用 overStreamPublishLimit 替代。

3.51.1 #

新增特性 #

  1. MediaDeviceWarning 新增啸叫检测警告 captureDetectHowling。以下情形将触发该警告:
    • 不支持啸叫抑制的房间模式下,检测到啸叫;
    • 支持啸叫抑制的房间模式下,检测到未被抑制的啸叫。
  2. 适配 iPadOS 16 多任务台前调度(Stage Manager)功能。丰富了可以通过 onVideoDeviceStateChanged 回调感知的系统摄像头状态信息,详见通话打断和恢复。
  3. 新增接口 setDummyCaptureImagePath 支持在关闭摄像头后上传静态图片填充本地推送的视频流。
  4. iOS 新增接口 setBluetoothMode,在纯媒体音频场景下,支持切换 iOS 设备与耳机之间的蓝牙传输协议。
  5. 新增接口 setRemoteRoomAudioPlaybackVolume,在多房间场景下,支持调节某个远端房间内的所有用户的音量。
  6. 新增接口 setNoAttenuationFlags 支持在启用范围语音功能时,设置相互通话不受衰减影响的小队。
  7. 支持检测背景声中的音乐,并保护音乐的音质。要使用此功能,请联系技术支持人员开启。
  8. 新增 Token 的发布/订阅权限即将过期的回调 onPublishPrivilegeTokenWillExpire 和 onSubscribePrivilegeTokenWillExpire,用于提示用户及时更新 Token 相关权限,以保证正常的音视频通话。该功能默认关闭,如有需要请联系技术支持开启。
  9. VoiceReverbType 新增录音棚、虚拟立体声、空旷、3D 人声等多种混响音效。
  10. 新增对本地采集的音频添加音量均衡效果和混响参数。详请参看 API 说明:
  11. 新增停止、暂停、恢复播放所有音频文件及混音的功能。详请参看 API 说明:
  12. 新增支持会前/会中音频设备回声抑制功能检测。详请参看 API 说明:
  13. 新增通过数码变焦控制摄像头画面的能力,实现画面的上、下、左、右平移以及放大、缩小。详请参看 API 说明:
  14. 根据进房时选择的业务场景自动适配音频降噪算法,满足多种场景下不同的降噪需求。新增接口 setAnsMode 支持通话过程中手动设置音频降噪模式。
  15. 新增接口 setPublicStreamAudioPlaybackVolume 支持调节远端公共音频在本地播放的音量。

功能优化 #

  1. 在使用音频信息提示获取本地和远端的音量信息时,支持开启音量平滑功能,并支持获取本地混音信息。参看传入参数 AudioPropertiesConfig 中新增的 “smooth” 参数和 “audioReportMode” 参数。
  2. sendSEIMessage 新增参数 “mode”,支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。

升级指南 #

头文件变更 #

原 bytertc_common_defines.dart 文件拆分为 bytertc_media_defines.dart 及 bytertc_rts_defines.dart。

API 变更 #

  1. registerFaceDetectionObserver 拆分为 enableFaceDetection 和 disableFaceDetection,解除人脸识别与视频特效之间的耦合,提升接口易用性。
  2. setScreenVideoEncoderConfig 参数类型由 “VideoEncoderConfig” 变更为 “ScreenVideoEncoderConfig”。
  3. 视频特效相关接口由 RTCVideo 类迁移至 RTCVideoEffect 下,包括:
  4. 接口返回值类型变化:
    • 以下接口返回值类型变更为 “int”,返回值具体含义参看 ReturnStatus:updateToken,setRemoteVideoConfig,subscribeStream,unsubscribeStream,subscribeScreen,unsubscribeScreen,setVoiceChangerType,setVoiceReverbType;
    • 以下接口返回值类型变更为 “void”:setMultiDeviceAVSync,setLocalVideoMirrorType,setVideoRotationMode,setAudioRoute,enableSimulcastMode,setPublishFallbackOption,setSubscribeFallbackOption。
  5. getSdkVersion 名称变更为 getSDKVersion。
  6. setAudioRoute 行为变更,支持使用仅有媒体模式的设备作为音频路由设备。

回调变更 #

  1. onPublicStreamSEIMessageReceived 新增参数 “sourceType”。
  2. 删除 RTCRangeAudioObserver 类和相关回调。此前,在手动订阅的场景下,如果你希望使用范围语音功能,你必须根据此回调获取的衰减系数,设定音量。自此版本起,无论是手动订阅还是自动订阅,衰减效果都由 SDK 实现,无需使用此接口。
  3. 废弃 onRemoteAudioStateChanged 和 onRemoteVideoStateChanged,无替代回调。
  4. 废弃 onLocalAudioStateChanged 和 onLocalVideoStateChanged,使用 onAudioDeviceStateChanged 和 onVideoDeviceStateChanged 替代。

类型变更 #

  1. FaceDetectionResult 人脸检测结果新增成员变量 “frameTimestampUs”。
  2. UserMessageSendResult 对单个用户的消息发送结果新增值 “exceedQPS”。
  3. RoomMessageSendResult 房间内群发消息结果新增值 “exceedQPS”。
  4. 空间音频功能中表示空间坐标的 Position 的变量 x, y, z 类型由 int 更改为 double。
  5. RoomProfile 房间模式中默认模式 “communication” 的参数配置由与 “chatRoom” 对应变更为与 “meeting” 对应。
  6. onPushPublicStreamResult 和 onPlayPublicStreamResult 中的 errorCode 参数类型由 “int” 改为 PublicStreamErrorCode。
  7. AudioRoute 枚举值 “unknown” 变更为 “routeDefault”。
  8. AudioScenario 音频路由和发布订阅状态到音量类型的映射关系改变。最新的映射关系查看数据结构的文档。

3.45.2 #

新增特性 #

  1. AudioScenario 音频场景类型新增 “highQualityChat” 高音质畅聊模式。
  2. 新增接口 getAudioMixingPlaybackDuration 支持获取混音音频文件的实际播放时长,即歌曲不受停止、跳转、倍速、卡顿影响的播放时长。
  3. 新增接口 subscribeAllStreams 和 unsubscribeAllStreams 支持订阅和取消订阅所有用户,在上麦人数固定的场景中,可以快速实现麦位切换。
  4. 新增接口 setAllAudioMixingVolume 支持统一设置全局混音文件音量。
  5. 新增接口 takeLocalSnapshot 和 takeRemoteSnapshot 支持在客户端截取本地/远端视频图像。
  6. NetworkQuality 媒体流网络质量新增 “down” 反映本地网络断联状态。

3.45.1 #

  • 修复了一些 bug。

3.44.1 #

  • Flutter RTC SDK 正式发布
9
likes
125
points
887
downloads

Documentation

API reference

Publisher

verified publishervolcengine.com

Weekly Downloads

This Flutter plugin provides rtc sdk native APIs for you to implement real-time audio & video communication functions in your application.

Homepage
Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

async, flutter, hybrid_runtime

More

Packages that depend on volc_engine_rtc

Packages that implement volc_engine_rtc