如果你希望从此前版本的 Linux 客户端 SDK 升级到最新的客户端 SDK,请在工程文件中,替换最新的客户端 SDK 文件,并参考本文完成 API,回调,参数类型等的替换。
升级过程中,你可能需要参考历史版本文档归档。
变更详情 | 功能模块 | 改动的数据类型 | 说明 |
---|---|---|---|
新增枚举值 | 音效 | PlayerState |
该版本对所有不规范的 API 命名进行了统一修复,提升代码规范度和易用性。以下仅为变更示例,请至类型详情页查看所用类型的具体改动。
变更对象 | 变更详情 | 旧版示例 | 新版示例 |
---|---|---|---|
枚举值 | 改为以 “k” 开头,“k+类名+值名”,大小写混合 | 以 UserWorkerType 为例:
| 以 UserWorkerType 为例:
|
结构体成员 | 改用下划线命名法 | 以 RTCWatermarkConfig 为例:
| 以 RTCWatermarkConfig 为例:
|
变更详情 | 功能模块 | 废弃的类/接口 | 替代的类/接口 | 说明 |
---|---|---|---|---|
删除 | 主调类 | IRTCEngine | IRTCVideo | |
使用范围拓展 | 视频处理 | setVideoDecoderConfig | setVideoDecoderConfig | 旧版接口仅支持在手动订阅时使用,新增支持在自动订阅时使用。 |
变更详情 | 功能模块 | 废弃的类/接口 | 替代的类/接口 | 说明 |
---|---|---|---|---|
删除 | 主回调类 | IRTCEngineEventHandler | IRTCVideoEventHandler | |
参数变更 | 消息 | virtual void onLogout() | virtual void onLogout(LogoutReason reason) | 在 onLogout 回调上新增 reason 参数,区分用户主动/被动登出。 |
变更详情 | 功能模块 | 改动的数据类型 | 说明 |
---|---|---|---|
枚举值名称变更 | 视频管理 | RenderTargetType | kRenderTargetView 改为 kRenderTargetTypeView kRenderTargetSurface 改为 kRenderTargetTypeSurface |
成员变量新增 | 字幕翻译服务 | SubtitleMessage | 在字幕内容回调 onSubtitleMessageReceived 的参数 SubtitleMessage 中新增成员变量 language 和 mode ,可用于同时收到字幕原文和字幕译文。 |
类型名称变更 | 消息 | USER_ONLINE_STATUS | 名称变更为 UserOnlineStatus 。 |
变更详情 | 错误码 | 说明 |
---|---|---|
枚举值增删 | UserMessageSendResult | 新增客户端向业务服务器发送消息失败错误码:kUserMessageSendResultE2BSSendFailed = 17 kUserMessageSendResultE2BSReturnFailed = 18 |
变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 说明 |
---|---|---|---|---|
将混音相关的类和接口按音效和音乐进行拆分,具体变动情况请参看混音相关的新旧接口对应表 | 混音 | 一般来说,对于短时间的音效(比如小于 20s),可以使用音效类;对于较长的音频或 PCM 数据,可以使用音乐类。 |
附:混音相关的新旧接口对应表
接口分类 | 接口用途 | 废弃类/接口 | 新类/接口(音效) | 新类/接口(音乐) | 备注 |
---|---|---|---|---|---|
获取实例 | 获取播放器实例 | getAudioMixingManager | getAudioEffectPlayer | getMediaPlayer | |
混音类 | IAudioMixingManager | IAudioEffectPlayer | IMediaPlayer | ||
混音主调接口 | 将音效文件加载至内存 |
|
|
| |
播放/停止/暂停/恢复 |
|
|
| ||
获取/指定位置/时长 |
|
|
| ||
获取/指定音量 |
|
|
| ||
调整音调 | setAudioMixingPitch | NA | setAudioPitch | ||
设置声道模式 | setAudioMixingDualMonoMode | NA | setAudioDualMonoMode | ||
获取/设置音轨数 |
| NA |
|
| |
设置播放速度 | setAudioMixingPlaybackSpeed | NA | setPlaybackSpeed | ||
设置播放进度回调间隔 | setAudioMixingProgressInterval | NA | setProgressInterval | ||
设置响度 | setAudioMixingLoudness | NA | setLoudness | ||
播放外部音频源 |
| NA |
| ||
混音回调接口 | 播放状态回调 |
|
|
| |
音频数据回调 |
| NA |
|
变更详情 | 方法 | 说明 |
---|---|---|
参数变更 | feedback | 参数数据类型变更 |
变更详情 | 方法 | 说明 |
---|---|---|
参数变更 | 参数
|
变更详情 | 错误码 | 说明 |
---|---|---|
枚举值变更 | 新增枚举值:
名称变更:
| |
新增枚举值 | ||
废弃枚举值 kErrorCodeOverScreenPublishLimit=-1081 ,用 kErrorCodeOverStreamPublishLimit=-1080 代替。 |
原 bytertc_common_defines.h 文件拆分为 bytertc_media_defines.h 及 bytertc_rts_defines.h
变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
---|---|---|---|---|
返回值变更 | 房间管理 | joinRoom 返回值含义如下:
| joinRoom 返回值含义如下:
| 返回值为 0 代表成功,不变。 |
引擎管理 | setBusinessId 返回值含义如下:
| setBusinessId 返回值含义如下:
| ||
拆分 | 视频管理 |
|
| 解除人脸识别与视频特效之间的耦合,提升接口易用性。 |
参数类型变更 | 屏幕共享 | virtual int setScreenVideoEncoderConfig(const VideoEncoderConfig& screen_solution) = 0; | virtual int setScreenVideoEncoderConfig(const ScreenVideoEncoderConfig& screen_solution) = 0; | 参数类型变更为新增的 ScreenVideoEncoderConfig |
行为变更 | 屏幕共享 |
|
| 优化屏幕共享接口的行为 |
废弃 | 自定义流处理 | registerVideoFrameObserver | 用 setLocalVideoSink 和 setRemoteVideoSink 代替 | |
名称和参数变更 | 音视频处理 |
|
| 统一返回值 |
|
| |||
virtual int updateNode(const char* nodePath, const char* nodeKey, float nodeValue) = 0; | virtual int updateEffectNode(const char* effectNodePath, const char* nodeKey, float nodeValue) = 0; | |||
屏幕分享 | virtual bool pushScreenFrame(IVideoFrame* frame) | virtual int pushScreenVideoFrame``(IVideoFrame* frame) | ||
参数变更 | 消息 | virtual int sendSEIMessage(StreamIndex stream_index, const uint8_t* message, int length, int repeat_count) = 0; | virtual int sendSEIMessage(StreamIndex stream_index, const uint8_t* message, int length, int repeat_count, SEICountPerFrame mode) = 0; | 支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。 |
多个模块 | 返回值类型变化,例如:
该版本中含此变更的方法包括: updateToken (返回值 void—>int) setRemoteVideoConfig (返回值 void—>int) subscribeStream (返回值 void—>int) unsubscribeStream (返回值 void—>int) subscribeScreen (返回值 void—>int) unsubscribeScreen (返回值 void—>int) pushExternalAudioFrame (返回值 bool—>int) pullExternalAudioFrame (返回值 bool—>int) pushExternalVideoFrame (返回值 bool—>int) setRemoteAudioPlaybackVolume (返回值 void—>int) pushExternalEncodedVideoFrame (返回值 bool—>int) setPublicStreamVideoSink (返回值 void—>int) enableSimulcastMode (返回值 int—>void) setPublishFallbackOption (返回值 int—>void) setSubscribeFallbackOption (返回值 int—>void) | |||
名称变更 | 视频管理 | setRemoteStreamVideoCanvas | setRemoteVideoCanvas | |
CDN 推流 | onStreamMixingVideoFrame | onMixingVideoFrame | ||
onStreamMixingAudioFrame | onMixingAudioFrame | |||
onStreamMixingDataFrame | onMixingDataFrame |
变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
---|---|---|---|---|
参数变更 | 消息 | virtual void onPublicStreamSEIMessageReceived(const char* public_stream_id, const uint8_t* message, int message_length) { (void)public_stream_id; (void)message; (void)message_length; } | virtual void onPublicStreamSEIMessageReceived(const char* public_stream_id, const uint8_t* message, int message_length, SEIMessageSourceType source_type) { (void)public_stream_id; (void)message; (void)message_length; (void)source_type; } |
变更详情 | 数据类型 | 备注 |
---|---|---|
取值范围拓展 | TranscoderLayoutRegion 中,width 和 height | 取值范围由 (0.0, 1.0] 拓展为 [0.0, 1.0] 。 |
枚举值增删 | UserMessageSendResult | 新增枚举值:kUserMessageSendResultExceedQPS = 5 |
RoomMessageSendResult | 新增枚举值:kRoomMessageSendResultExceedQPS = 5 | |
AudioProcessorMethod | 新增枚举值:kAudioFrameProcessorEarMonitor = 3 | |
成员变量变更 | FaceDetectResult | 新增成员变量:frame_timestamp_us |
| 废弃屏幕共享内部采集的变量 | |
| 增加成员变量 | |
ITranscoderParam | 新增成员变量:TranscoderClientMixParam | |
变量类型变更 | 空间音频功能中表示空间坐标的 position 的 变量 x , y , z 类型由 int 更改为 float 。 | 提升球面立体声渲染效果。 |
枚举值名称变更 |
| 枚举值名称增加前缀 k,更改后的枚举值如下: |
配置变更 | RoomProfileType | 房间属性的默认值 kRoomProfileTypeCommunication = 0 ,对应的由 kRoomProfileTypeChatRoom = 6 变更为 kRoomProfileTypeMeeting = 16 。 |
新增 | PublicStreamErrorCode | onPlayPublicStreamResult 和 onPushPublicStreamResult 中的 errorCode 参数类型由 int 改为 PublicStreamErrorCode |
变更详情 | 错误码 | 备注 |
---|---|---|
枚举值增删 | ErrorCode | 新增枚举值:kErrorCodeUserIDDifferent = -1014 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
变更详情 | 功能模块 | 方法 | 备注 |
---|---|---|---|
参数数据结构改动 | 音频管理 | virtual void enableAudioPropertiesReport(const AudioPropertiesConfig& config) = 0; | 数据结构中,新增参数:AudioPropertiesMode AudioReportMode |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
---|---|---|---|---|
废弃原方法 | 音频处理 | virtual void muteAudioPlayback(MuteState mute_state) = 0; | virtual void setPlaybackVolume(const int volume) = 0; | 设置远端用户音量为 0 即可停止播放本地收到的音频流 |