如果你希望从此前版本的 Windows 客户端 SDK 升级到最新的客户端 SDK,请在工程文件中,替换最新的客户端 SDK 文件,并参考本文完成 API,回调,参数类型等的替换。
升级过程中,你可能需要参考老版本 API 文档归档。
原 bytertc_common_defines.h 文件拆分为 bytertc_media_defines.h 及 bytertc_rts_defines.h
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
拆分 | 视频管理 |
| 解除人脸识别与视频特效之间的耦合,提升接口易用性。 | |
参数类型变更 | 屏幕共享 |
|
| 参数类型变更为新增的 |
行为变更 | 屏幕共享 |
|
| 优化屏幕共享接口的行为 |
名称和参数变更 | 音视频处理 |
|
| 统一返回值 |
| ||||
virtual int updateNode(const char* nodePath, const char* nodeKey, float nodeValue) = 0; | virtual int updateEffectNode(const char* effectNodePath, const char* nodeKey, float nodeValue) = 0; | |||
| ||||
屏幕分享 |
|
| ||
参数变更 | 消息 |
| 支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。 | |
多个模块 | 返回值类型变化,例如:
以下接口返回值类型由 void 变为 int,具体 int 值含义参考新增数据结构 | |||
| 名称变更 | 视频管理 | setRemoteStreamVideoCanvas | setRemoteVideoCanvas | |
接口声明位置变更 | 视频管理 | 新版本中使用以下两个方法需要引入 | ||
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 |
|---|---|---|---|
| 废弃 | 音视频传输 | onRemoteAudioStateChanged 和 onRemoteVideoStateChanged | / |
| 音频管理 | onLocalAudioStateChanged 和 onLocalVideoStateChanged | 使用 onAudioDeviceStateChanged 和 onVideoDeviceStateChanged 代替 | |
参数变更 | 消息 |
| |
删除回调类 | 范围语音 |
| 此前,在手动订阅的场景下,如果你希望使用范围语音功能,你必须根据此回调获取的衰减系数,设定音量。 |
| 名称变更 | CDN 推流 | onStreamMixingVideoFrame | onMixingVideoFrame |
onStreamMixingAudioFrame | onMixingAudioFrame | ||
onStreamMixingDataFrame | onMixingDataFrame |
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 取值范围拓展 | 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 |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增删 | AudioProcessorMethod | 新增屏幕共享音频的枚举值: kAudioFrameProcessorScreen = 4 |
| 枚举值增删 | MediaDeviceWarning | 新增无声设备播放相关的错误码:kMediaDeviceWarningRecordingUseSilentDevice 和 kMediaDeviceWarningPlayoutUseSilentDevice |
| 枚举值增删 | SubscribeState | 新增无声设备采集相关的错误码:kWarningCodeUseSilentRecordDevice 和 kWarningCodeUseSilentPlayOutDevice |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 方法 | 备注 |
|---|---|---|---|
| 参数数据结构改动 | 音频管理 | virtual void enableAudioPropertiesReport(const AudioPropertiesConfig& config) = 0; | 数据结构中,新增参数:AudioPropertiesModeAudioReportMode |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增删 | DeviceTransportType | 新增枚举值:kDeviceTransportTypeUSB,kDeviceTransportTypePCI,kDeviceTransportTypeAirPlay |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 废弃原方法 | 音频处理 | virtual void muteAudioPlayback(MuteState mute_state) = 0; | virtual void setPlaybackVolume(const int volume) = 0; | 设置远端用户音量为 0 即可停止播放本地收到的音频流 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
合并、名称和参数变化 | 音视频处理 |
|
|
该版本部分头文件名称及路径发生变化,请参照下表在工程文件中进行调整:
| 平台 | 3.42 | 3.43 | 备注 |
|---|---|---|---|
| Windows | VolcEngineRTC/include/rtc/bytertc_room_interface.h | VolcEngineRTC/include/bytertc_room.h | 文件名变更,并迁移至上级目录 include 中 |
| VolcEngineRTC/include/rtc/bytertc_room_event_handler_interface.h | VolcEngineRTC/include/bytertc_room_event_handler.h | ||
| VolcEngineRTC/include/rtc/bytertc_engine_lite_interface.h | VolcEngineRTC/include/bytertc_video.h | ||
| VolcEngineRTC/include/rtc/bytertc_engine_lite_event_handler.h | VolcEngineRTC/include/bytertc_video_event_handler.h |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 基础类名变更 | 所有模块 | class IRtcEngine | class IRTCVideo | |
| 名称和参数变化 | 引擎管理 | BYTERTC_API bytertc::IRtcEngine* CreateRtcEngine(const char* app_id, bytertc::IRtcEngineEventHandler* event_handler, const char* parameters); | BYTERTC_API bytertc::IRTCVideo* createRTCVideo(const char* app_id, bytertc::IRTCVideoEventHandler *event_handler, const char* parameters); | |
BYTERTC_API void DestroyRtcEngine(bytertc::IRtcEngine* engine); | BYTERTC_API void destroyRTCVideo(bytertc::IRTCVideo* engine); | |||
| 多房间 | virtual IRtcRoom* CreateRtcRoom(const char* room_id) = 0; | virtual IRTCRoom* createRTCRoom(const char* room_id) = 0; | ||
位置迁移,所属类型变更 |
| 以下方法从 IRTCVideo(原 IRtcEngine)类下移除,使用 IRTCRoom 类中的同名方法代替:
| ||
| 参数变更 | 音频管理 | virtual void setRemoteAudioPlaybackVolume(const char* user_id, int volume) = 0; | virtual void setRemoteAudioPlaybackVolume(const char* room_id,const char* user_id, int volume) = 0; | 新增 room_id 参数,且为必填。 |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 成员变量增删 | VideoSolution | 删除成员变量:scale_mode |
VideoEncoderConfig | 删除成员变量:scaleMode | |
| 枚举值增删 | ConnectionState | 增加枚举值:kConnectionStateFailed |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增删 | ErrorCode | 增加枚举值:-1084 |
在此版本中,进行了接口命名风格的改动,由大驼峰变为小驼峰。此改动适用于所有 C++ SDK 中的主调接口和回调接口。
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 基础类名变更 | 所有模块 | class IRtcEngineLite | class IRtcEngine | |
| class IRtcRoom | class IRTCRoom | |||
| 位置迁移,所属类型变更 | 多房间 | 以下方法由 IRTCRoom(原 IRtcRoom)类迁移至 IRtcEngine(原 IRtcEngineLite)类下: | 由于新方法变更为从引擎类上调用,因此增加了 roomId 相关的字段,且均为必填字段。 | |
| 名称和参数变化 | 引擎管理 | virtual int Feedback(const char* data) = 0; | virtual int feedback(ProblemFeedbackOption *type, int count, const char* problem_desc) = 0; | |
| 多房间 | virtual void SetRtcRoomEventHandler(IRTCRoomEventHandler* room_event_handler) = 0; | virtual void setRTCRoomEventHandler(IRTCRoomEventHandler* room_event_handler) = 0; | ||
| 名称和参数变化,行为变化 | 音频设备管理 | virtual int bytertc::IAudioDeviceManager::StartAudioPlaybackDeviceTest( const char* test_audio_file_path) | virtual int bytertc::IAudioDeviceManager::startAudioPlaybackDeviceTest( const char* test_audio_file_path, int indication_interval) | 增加 indication_interval 参数设置回调音量频率 |
virtual int bytertc::IAudioDeviceManager::StopAudioPlaybackDeviceTest() | virtual int bytertc::IAudioDeviceManager::stopAudioPlaybackDeviceTest() | 名称变更 | ||
virtual int bytertc::IAudioDeviceManager::StartAudioCaptureDeviceTest(int indication_interval) | virtual int bytertc::IAudioDeviceManager::startAudioDeviceRecordTest( int indication_interval) | 新方法不仅开启音量回调,还将在录音结束后开始自动播放 | ||
virtual int bytertc::IAudioDeviceManager::StopAudioCaptureDeviceTest() | virtual int bytertc::IAudioDeviceManager::stopAudioDeviceRecordAndPlayTest() virtual int bytertc::IAudioDeviceManager::stopAudioDevicePlayTest() | 由于新的设备测试方法能启动麦克风和音频播放设备,因此停止方法也分为两个: | ||
| 参数变更 | 消息 | virtual int64_t SendUserMessageOutsideRoom(const char* uid, const char* message) = 0; | virtual int64_t SendUserMessageOutsideRoom(const char* uid, const char* message, MessageConfig config) = 0; | |
virtual int64_t SendUserBinaryMessageOutsideRoom(const char* uid, int length, const uint8_t* message) = 0; | virtual int64_t SendUserBinaryMessageOutsideRoom(const char* uid, int length, const uint8_t* message, MessageConfig config) = 0; | |||
virtual int64_t SendUserBinaryMessage(const char* uid, int length, const uint8_t* message) = 0; | virtual int64_t SendUserBinaryMessage(const char* uid, int length, const uint8_t* message, MessageConfig config) = 0; | |||
virtual int64_t SendUserMessage(const char* uid, const char* message) = 0; | virtual int64_t SendUserMessage(const char* uid, const char* message, MessageConfig config) = 0; | |||
| 返回值变更 | 音视频设备管理 | virtual IDeviceCollection* EnumerateVideoCaptureDevices() = 0; | virtual IVideoDeviceCollection* EnumerateVideoCaptureDevices() = 0; | |
virtual IDeviceCollection* EnumerateAudioPlaybackDevices() = 0; | virtual IAudioDeviceCollection* EnumerateAudioPlaybackDevices() = 0; | |||
virtual IDeviceCollection* EnumerateAudioCaptureDevices() = 0; | virtual IAudioDeviceCollection* EnumerateAudioCaptureDevices() = 0; | |||
| 方法重构 | 自定义音频处理 | virtual void RegisterLocalAudioProcessor(IAudioProcessor* processor, AudioFormat audioFormat) = 0; | virtual void registerAudioProcessor(IAudioFrameProcessor* processor) = 0; virtual void enableAudioProcessor(AudioProcessorMethod method, AudioFormat format) = 0; virtual void disableAudioProcessor(AudioProcessorMethod method) = 0; | |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 基础类名变更 | 所有模块 | class IRtcEngineLiteEventHandler | class IRtcEngineEventHandler | |
| 位置迁移,所属类型变更 | 以下回调由 IRTCRoomEventHandler 类迁移至 IRtcEngineEventHandler(原 IRtcEngineLiteEventHandler)类下: | |||
| 回调重构 | 自定义音频处理 | class IAudioProcessor{ public: virtual int ProcessAudioFrame(const IAudioFrame& audioFrame) = 0; }; | class IAudioFrameProcessor{ virtual int onProcessRecordAudioFrame(IAudioFrame& audioFrame) = 0; virtual int onProcessPlayBackAudioFrame(IAudioFrame& audioFrame) = 0; virtual int onProcessRemoteUserAudioFrame(const RemoteStreamKey& stream_info, IAudioFrame& audioFrame) = 0; }; | |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
枚举值增删 |
| 增加以下枚举值:
|
枚举值增删 | 增加以下枚举值:
| |
成员变量增删 | 删除以下成员变量:
| |
成员变量增删 | 增加以下成员变量:
| |
成员变量增删 | 新增以下成员变量:
| |
| 类型增删 | AudioAbilityType | 新增枚举类 |
| 类型增删 | AudioDeviceInfo | 新增类型 |
| 类型名称变化 | IDeviceCollection | 变更为 IVideoDeviceCollection 和 IAudioDeviceCollection |
枚举值增删 | 增加以下枚举值:
| |
| 常量增删 | MAX_DEVICE_ID_LENGTH | 新增常量 |
| 类型增删 | DeviceTransportType | 新增枚举类 |
| 类型增删 | VideoDeviceInfo | 新增类型 |
枚举值增删 | 新增以下枚举值:
| |
| 类型名称变化 | AudioRouteDevice | 变更为AudioRoute |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增删 | WarningCode | 新增枚举值:-2014 |
| 枚举值增删 | ErrorCode | 删除枚举值:-1008 |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 合并或拆分 | 房间管理 | virtual void OnJoinRoomResult( const char* room_id, const char* uid, int error_code, JoinRoomType join_type, int elapsed) { (void)room_id; (void)error_code; (void)join_type; (void)elapsed; }virtual void OnRoomWarning(int warn) { (void)warn; }virtual void OnRoomError(int err) { (void)err; } | virtual void onRoomStateChanged( const char* room_id, const char* uid, int state, const char* extra_info) { (void)room_id; (void)state; (void)extra_info; }virtual void onStreamStateChanged( const char* room_id, const char* uid, int state, const char* extra_info) { (void)room_id; (void)state; (void)extra_info; } |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 名称和参数变更 | 音频管理 | virtual IPositionAudioRenderInterface* GetPositionAudioRender() = 0; | virtual ISpatialAudio* GetSpatialAudio() = 0; | 接口由 IRtcEngineLite 类移动至 IRtcRoom 类 |
| 名称变化 | 音频管理 | virtual void EnableAudioSpatialRender(bool enable) = 0; | virtual void EnableSpatialAudio(bool enable) = 0; | |
原接口废弃,使用新接口代替 | 音频管理 |
| ||
参数变更 | 音频管理 |
|
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
枚举值增删 | 删除枚举值: | |
| 类型名称变化 | ByteRTCAudioRouteDevice | 修改为 ByteRTCAudioRoute |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增删 | ErrorCode | 新增枚举值:-1083 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 返回值变更 | 实时消息 | void Login(const char* token, const char* uid) | int64_t Login(const char* token, const char* uid) | --- |
API 行为变更 | 订阅媒体流 | SDK 在每条远端流属性中维护订阅关系。如果该流被移除,订阅关系也将取消 | SDK 在房间属性中维护订阅关系列表。订阅关系将在用户退房后才会取消。 | --- |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 实时消息 | virtual void OnServerMessageSendResult(int64_t msgid, int error) | virtual void OnServerMessageSendResult(int64_t msgid, int error, const bytertc::ServerACKMsg& msg) | |
| 参数变化 | 转推直播 | virtual void OnStreamMixingEvent(StreamMixingEvent event, const char* task_id, int error, StreamMixingType mix_type) = 0; | virtual void OnStreamMixingEvent(StreamMixingEvent event, const char* task_id, StreamMixingErrorCode error, StreamMixingType mix_type) = 0; |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举类新增 | StreamMixingEvent |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 成员变量增删 | ScreenCaptureParameters | 新增 content_hint |
| 成员变量增删 | SubscribeConfig | 新增成员变量 framerate |
| 成员变量变化 | RemoteVideoConfig | 成员变量 frame_rate_ratio 变为 framerate, 由输入与原始帧率的比例变为输入期望订阅的最大帧率 |
| 枚举值增删 | AudioMixingError | 新增枚举值:kAudioMixingErrorInValidPlaybackSpeed |
| 枚举值增删 | MediaDeviceState | 新增枚举值:kMediaDeviceInterruptionBegan,表示媒体设备采集暂停,等待自动恢复 |
| 枚举值增删 | MediaDeviceState | 新增枚举值:kMediaDeviceInterruptionEnded,表示媒体设备采集已自动恢复 |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值改名 | ErrorCode | 表示用户被踢出房间的错误码由 kBrerrKickedOut 变更为 kErrorCodeKickedOut |
| 枚举值增删 | ErrorCode | 新增错误码:kRoomErrorTokenExpired,表示用户因 Token 过期被踢出房间 |
| 枚举值增删 | ErrorCode | 新增枚举值:kRoomErrorUpdateTokenWithInvalidToken,表示调用 UpdateToken 使用的 Token 无效 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 合并 | 音频数据回调 | virtual void SetRecordingAudioFrameParameters(int sample_rate, int channels) = 0;virtual void SetPlaybackAudioFrameParameters(int sample_rate, int channels) = 0;virtual void SetMixedAudioFrameParameters(int sample_rate, int channels) = 0; | virtual void EnableAudioFrameCallback(AudioFrameCallbackMethod method, AudioFormat format) = 0; | 在format中设置回调的音频数据类型 |
| 参数增加 | 本地录制 | virtual int StartFileRecording(StreamIndex type, RecordingConfig config) = 0; | virtual int StartFileRecording(StreamIndex type, RecordingConfig config, RecordingType recording_type) = 0; |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
转换samples与data_size(),示例代码:
samples = data_size() / (channel() * 2)
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 参数变化 | 房间管理 | virtual void bytertc::IRTCRoomEventHandler::OnUserLeave(const char* uid, UserOfflineReason reason) | virtual void bytertc::IRTCRoomEventHandler::OnUserLeave(const char* uid, UserOfflineReason reason) | reason 参数变化 |
| 拆分或合并 | 多房间 | virtual void OnStreamAdd(const MediaStreamInfo& stream)virtual void OnStreamRemove(const MediaStreamInfo& stream, StreamRemoveReason reason)virtual void OnUserMuteAudio(const char* user_id, MuteState mute_state)virtual void OnUserMuteVideo(const char* uid, MuteState mute) | virtual void OnUserPublishStream(const char* uid, MediaStreamType type) {(void)uid;(void)type;}virtual void OnUserPublishScreen(const char* uid, MediaStreamType type) {(void)uid; (void)type;}virtual void OnUserUnPublishStream(const char* uid, MediaStreamType type,StreamRemoveReason reason) {(void)uid; (void)type; (void)reason;}virtual void OnUserUnPublishScreen(const char* uid, MediaStreamType type,StreamRemoveReason reason) {(void)uid;(void)type;(void)reason;} | 解耦新增或移除摄像头/麦克风采集的媒体流与新增屏幕共享媒体流的回调,同时去除旧版本回调在功能上的重合 |
| 删除 | 转推直播 | virtual void OnLiveTranscodingResult(const char* url, int error) {(void)url;(void)error;} | / |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 成员变量变化 | LocalStreamStats 和 RemoteStreamStats | txQuality 和 rxQuality 成员变量移动到了新增类型 NetworkQualityStats 中,通过 OnNetworkQuality 回调获取 |
| 成员变量变化 | AudioPropertiesInfo | 成员变量 volume 拆分成 linear_volume 和 nonlinear_volume |
| 成员变量增删 | RTCRoomConfig | 新增 remote_video_config |
| 成员变量增删 | MultiRoomConfig | 新增 remote_video_config |
自此版本起,本地视频采集参数默认由系统自动设置,而不是和编码参数保持一致。你可以通过 VideoCaptureConfig 进行相关设置。如果你的代码逻辑中对采集到的视频帧进行了自定义处理,应对处理逻辑进行相应修改。
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 视频管理 | virtual int SetVideoCaptureConfig(const VideoCaptureConfig& videoCaptureConfig) = 0; | virtual int SetVideoCaptureConfig(const VideoCaptureConfig& videoCaptureConfig) = 0; | 增加摄像头采集参数中的模式设置 |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 名称变化 | 视频管理 | virtual void OnFirstRemoteVideoFrameRendered(const RemoteStreamKey key, const VideoFrameInfo& info) {(void)key; (void)info;} | virtual void OnFirstRemoteVideoFrameDecoded(const RemoteStreamKey key, const VideoFrameInfo& info) {(void)key; (void)info;} |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | NetworkDetectionStopReason | 新增了枚举值:kNetworkDetectionStopReasonInnerErr |
| 枚举值增减 | AudioMixingError | 新增了枚举值:kAudioMixingErrorInValidPitch |
| 成员变量变化 | AudioMixingConfig | 新增成员变量:position 和 callback_on_progress_interval |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 新增了枚举值:-5011 |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 音频管理 | virtual void EnableAudioMixingFrame(AudioMixingType type) = 0;virtual void DisableAudioMixingFrame() = 0;virtual int PushAudioMixingFrame(IAudioFrame* audio_frame) = 0; | virtual void EnableAudioMixingFrame(int id, AudioMixingType type) = 0;virtual void DisableAudioMixingFrame(int id) = 0;virtual int PushAudioMixingFrame(int id, IAudioFrame* audio_frame) = 0; |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | VideoPixelFormat | 新增了枚举值:kVideoPixelFormatTexture2DkVideoPixelFormatTextureOES |
| 成员变量变化 | IVideoFrame | virtual int frame_type() const = 0; 变更为 virtual VideoFrameType frame_type() const = 0;virtual int pixel_format() const = 0; 变更为 virtual VideoPixelFormat pixel_format() const = 0;virtual int rotation() const = 0; 变更为 virtual VideoRotation rotation() const = 0;virtual int color_space() const = 0; 变更为 virtual ColorSpace color_space() const = 0; |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 废弃了枚举值 -5002 ~ -5008。使用 OnMediaDeviceStateChanged 代替。 |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 成员变量变化 | LocalAudioStats | 新增了成员变量:jitter |
| 成员变量变化 | RemoteAudioStats | 新增了成员变量:jitter |
| 成员变量变化 | LocalVideoStats | 新增了成员变量:jitter |
| 成员变量变化 | RemoteVideoStats | 新增了成员变量:jitter |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 多房间 | virtual void JoinRoom(const char* token, const UserInfo& user_info, const MultiRoomConfig& config) = 0; | virtual int JoinRoom(const char* token, const UserInfo& user_info, const MultiRoomConfig& config) = 0; | |
| 参数变化 | 房间管理 | virtual void JoinRoom(const char* token, const char* room_id, const UserInfo& user_info, const RTCRoomConfig& room_config) = 0; | virtual int JoinRoom(const char* token, const char* room_id, const UserInfo& user_info, const RTCRoomConfig& room_config) = 0; | |
| 参数变化 | 视频管理 | virtual void SetVideoSourceType(VideoSourceType type) = 0; | virtual void SetVideoSourceType(StreamIndex stream_index, VideoSourceType type) = 0; | |
| 名称和参数变化 | 音频管理 | virtual void SetAudioVolumeIndicationInterval(int interval) = 0; | virtual void EnableAudioPropertiesReport(const AudioPropertiesConfig& config) = 0; | |
| 名称和参数变化 | 视频管理 | virtual void SetLocalVideoMirrorMode(MirrorMode mirrorMode) = 0; | virtual void SetLocalVideoMirrorType(MirrorType mirrorType) = 0; |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 拆分或合并 | 音频管理 | virtual void SetAudioVolumeIndicationInterval(int interval) = 0; | virtual void OnLocalAudioPropertiesReport(const LocalAudioPropertiesInfo * audio_properties_infos, int audio_properties_info_number)virtual void OnRemoteAudioPropertiesReport(const RemoteAudioPropertiesInfo* audio_properties_infos, int audio_properties_info_number, int total_remote_volume) | 旧版接口拆分为 OnLocalAudioPropertiesReport 和 OnRemoteAudioPropertiesReport |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | ErrorCode | 增加枚举值:-1007、-1008 |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | AudioSampleRate | 新增了枚举值:kAudioSampleRateAuto |
| 枚举值增减 | AudioChannel | 新增了枚举值:kAudioChannelAuto |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 引擎管理 | BYTERTC_API int Feedback(const char* data); | virtual int Feedback(const char* data) = 0; | |
| 参数变化 | 视频管理 | virtual int SetVideoEncoderConfig(const VideoSolution* solutions, int solution_num) = 0; | virtual int SetVideoEncoderConfig(StreamIndex index, const VideoSolution* solutions, int solution_num) = 0; | |
| 参数变化 | 屏幕共享 | virtual void PublishScreen(const ScreenParameters& paramters) = 0; | virtual void PublishScreen() = 0; | |
| 名称和参数变化 | 音频管理 | virtual void SetRecordingVolume(const int volume) = 0; | virtual void SetCaptureVolume(StreamIndex index, int volume) = 0; | |
| 名称和参数变化 | 视频管理 | virtual void RegisterMetadataObserver(IMetadataObserver* observer) = 0; | virtual int SendSEIMessage(StreamIndex stream_index, const uint8_t* message, int length, int repeat_count) = 0; | |
| 名称和参数变化 | 屏幕共享 | virtual void StopScreenCapture() = 0; | virtual void StopScreenVideoCapture() = 0; | 变更后接口仅停止采集,不取消发布 |
| 拆分或合并 | 屏幕共享 | virtual int StartScreenCaptureByWindowId(view_t window_id, const Rectangle& region_rect, const DesktopCaptureParameters& capture_params) = 0;virtual int StartScreenCaptureByDisplayId(unsigned int display_id, const Rectangle& region_rect, const DesktopCaptureParameters& capture_params) = 0;virtual int StartScreenCaptureByScreenRect(const Rectangle& screen_rect, const Rectangle& region_rect, const DesktopCaptureParameters& capture_params) = 0; | virtual int StartScreenVideoCapture(const ScreenCaptureSourceInfo& source_info, const ScreenCaptureParameters& capture_params) = 0; |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 名称和参数变化 | 视频数据回调 | virtual void OnMetadataReceived(const char* roomid, const char* uid, const VideoMetadataBuffer& metadata) = 0; | virtual void OnSEIMessageReceived(RemoteStreamKey stream_key, const uint8_t* message, int length){(void)stream_key; (void)message; (void)length; } |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | ProblemFeedbackOption | 删除了枚举值:kProblemFeedbackOptionConnectionFailedkProblemFeedbackOptionAudioDelaykProblemFeedbackOptionVideoDelayKFeedbackOptionEarBackDelay |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 新增了枚举值:kWarningCodeSetScreenAudioSourceTypeFailedkWarningCodeSetScreenAudioStreamIndexFailed |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 房间管理 | virtual int JoinRoom(const char* token, const char* room_id, const UserInfo& user_info, RoomProfileType profile_type) = 0; | virtual int JoinRoom(const char* token, const char* room_id, const UserInfo& user_info, const RTCRoomConfig& room_config) = 0; | |
| 名称和参数变化 | 房间管理 | virtual void SubscribeStream(const char* user_id, const SubscribeConfig& info) = 0; | virtual void SubscribeUserStream(const char* user_id, StreamIndex stream_type, SubscribeMediaType media_type, const SubscribeVideoConfig& video_config) = 0; | |
| 名称和参数变化 | 房间管理 | virtual void SetUserRole(UserRoleType role) = 0; | virtual void SetUserVisibility(bool enable) = 0; | |
| 拆分或合并 | 视频管理/音频管理 | virtual void MuteAllRemoteVideo(MuteState muteState) = 0;virtual void MuteAllRemoteAudio(MuteState mute_state) = 0; | virtual void PauseAllSubscribedStream(PauseResumeControlMediaType media_type) = 0; | 通过 PauseAllSubscribedStream 和 ResumeAllSubscribedStream 可以暂停或恢复接收所有远端媒体流 |
| 删除 | 房间管理 | virtual void EnableAutoPublish(bool auto_publish) = 0; | / | 使用 JoinRoom 中的 room_config 进行设置 |
| 删除 | 房间管理 | virtual void EnableAutoSubscribe(SubscribeMode audio_mode, SubscribeMode video_mode) = 0; | / | 使用 JoinRoom 中的 room_config 进行设置 |
| 删除 | 视频管理 | virtual void RemoveAllRemoteVideo() = 0; | / | |
| 删除 | 视频管理 | virtual void RemoveAllRemoteScreen() = 0; | / |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 新增了枚举值:kWarningCodePublishStreamForbidenkWarningCodeUserNotifyStop |
| 枚举值增减 | UserMessageSendResult | 新增了枚举值:kUserMessageSendResultNotLoginkUserMessageSendResultServerParamsNotSet |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 混音 | virtual int GetAudioMixingDuration() = 0; | virtual int GetAudioMixingDuration(int id) = 0; | |
| 参数变化 | 混音 | virtual int GetAudioMixingCurrentPosition() = 0; | virtual int GetAudioMixingCurrentPosition(int id) = 0; | |
| 参数变化 | 混音 | virtual int SetAudioMixingPosition(int pos) = 0; | virtual void SetAudioMixingPosition(int id, int position) = 0; | |
| 名称和参数变化 | 混音 | virtual int PreloadEffect(int sound_id, const char* file_path) = 0; | virtual void PreloadAudioMixing(int id, const char* file_path) = 0; | |
| 拆分或合并 | 自定义视频采集渲染 | void SetRemoteVideoRender(const char* uid, IVideoSink* render)void SetRemoteScreenRender(const char* uid, IVideoSink* render) | virtual void SetRemoteVideoSink(RemoteStreamKey stream_key, IVideoSink* video_sink,IVideoSink::PixelFormat required_format) = 0; | 多个旧版接口合并为 SetRemoteVideoSink |
| 拆分或合并 | 自定义视频采集渲染 | void SetLocalVideoRender(IVideoSink* render)void SetLocalScreenRender(IVideoSink* render) | virtual void SetLocalVideoSink(StreamIndex index, IVideoSink* video_sink,IVideoSink::PixelFormat required_format) = 0; | 多个旧版接口合并为 SetLocalVideoSink |
| 拆分或合并 | 混音 | virtual int StartAudioMixing(const char* file_path, bool loopback, bool replace, int cycle) = 0;virtual int PlayEffect(int sound_id, const char* file_path, bool loopback, int cycle, int volume) = 0; | virtual void StartAudioMixing(int id, const char * file_path, const AudioMixingConfig& config) = 0; | 多个接口合并为StartAudioMixing |
| 拆分或合并 | 混音 | virtual void StopAudioMixing() = 0;virtual int StopEffect(int sound_id) = 0;virtual void StopAllEffects() = 0; | virtual void StopAudioMixing(int id) = 0; | 多个接口合并为StopAudioMixing |
| 拆分或合并 | 混音 | virtual int PauseAudioMixing() = 0;virtual int PauseEffect(int sound_id) = 0;virtual void PauseAllEffects() = 0; | virtual void PauseAudioMixing(int id) = 0; | 多个接口合并为PauseAudioMixing |
| 拆分或合并 | 混音 | virtual int ResumeAudioMixing() = 0;virtual int ResumeEffect(int sound_id) = 0;virtual void ResumeAllEffects() = 0; | virtual void ResumeAudioMixing(int id) = 0; | 多个接口合并为ResumeAudioMixing |
| 拆分或合并 | 混音 | virtual int UnloadEffect(int sound_id) = 0;virtual void UnloadAllEffects() = 0; | virtual void UnloadAudioMixing(int id) = 0; | 多个接口合并为UnloadAudioMixing |
| 拆分或合并 | 混音 | virtual int AdjustAudioMixingVolume(int volume) = 0;virtual int SetVolumeOfEffect(int sound_id, int volume) = 0;virtual int AdjustAudioMixingPlayoutVolume(int volume) = 0;virtual int AdjustAudioMixingPublishVolume(int volume) = 0;virtual void SetEffectsVolume(int volume) = 0; | virtual void SetAudioMixingVolume(int id, int volume, AudioMixingType type) = 0; | 多个接口合并为SetAudioMixingVolume |
| 拆分或合并 | 混音 | virtual void SetAudioPlayoutMixStream(bool enable, int sample_rate, int channel_num) = 0; | virtual void EnableAudioMixingFrame(AudioMixingType type) = 0;virtual void DisableAudioMixingFrame() = 0; | 旧版接口拆分为EnableAudioMixingFrame 和 DisableAudioMixingFrame |
| 删除 | 混音 | virtual int GetEffectVolume(int sound_id) = 0; | / | |
| 删除 | 混音 | virtual int GetAudioMixingStreamCachedFrameNum() = 0; | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 参数变化 | 混音 | virtual void OnAudioMixingStateChanged(bytertc::AudioMixingState state, bytertc::AudioMixingError error) {} | virtual void OnAudioMixingStateChanged(int id, bytertc::AudioMixingState state, bytertc::AudioMixingError error) {} | |
| 删除 | 视频管理 | virtual void OnStart() = 0; | / | |
| 删除 | 视频管理 | virtual void OnStop() = 0; | / |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | AudioMixingState | 新增了枚举值:kAudioMixingStatePreloadedkAudioMixingStateFinished |
| 枚举值增减 | AudioMixingError | 删除了枚举值: kAudioMixingErrorCanNotOpenkAudioMixingErrorPreloadFailedkAudioMixingErrorStartFailedkAudioMixingErrorIdNotFoundkAudioMixingErrorSetPositionFailed kAudioMixingErrorInValidVolumekAudioMixingErrorLoadConflict |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 视频特效 | virtual void SetEffectNodes(const char** effectNodePaths, int nodeNum) = 0; | virtual int SetEffectNodes(const char** effectNodePaths, int nodeNum) = 0; | |
| 参数变化 | 视频特效 | virtual void UpdateNode(const char* nodePath, const char* nodeKey, float nodeValue) = 0; | virtual int UpdateNode(const char* nodePath, const char* nodeKey, float nodeValue) = 0; | |
| 参数变化 | 视频特效 | virtual void SetColorFilter(const char* resPath) = 0; | virtual int SetColorFilter(const char* resPath) = 0; | |
| 参数变化 | 视频特效 | virtual void SetColorFilterIntensity(float intensity) = 0; | virtual int SetColorFilterIntensity(float intensity) = 0; | |
| 参数变化 | 视频管理 | virtual int MuteLocalVideo(MuteState muteState) = 0; | virtual void MuteLocalVideo(MuteState muteState) = 0; | |
| 名称和参数变化 | 视频管理 | virtual void SetExternalVideoSource(bool enable) = 0; | virtual void SetVideoSourceType(VideoSourceType type) = 0; | |
| 删除 | 视频特效 | virtual int CheckSupport() = 0; | / | |
| 删除 | 视频特效 | virtual void AddEffectNodes(const char** effectNodePaths, int nodeNum) = 0; | / | |
| 删除 | 视频特效 | virtual void RemoveEffectNodes(const char** effectNodePaths, int nodeNum) = 0; | / | |
| 删除 | 视频管理 | virtual bool GetLocalVideoMirrorMode() = 0; | / | |
| 删除 | 视频管理 | virtual void SetDefaultMuteAllRemoteVideoStreams(bool mute) = 0; | / | |
| 删除 | 音频管理 | virtual void SetAudioPerformanceProfile(AudioPerformanceProfile profile) = 0; | / | |
| 删除 | 自定义音频采集渲染 | virtual void SetAudioDeviceObserver(IAudioDeviceObserver* obs) = 0; | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 删除 | 视频管理 | virtual void OnMirrorStateChanged(bool mirrored) | / |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 拆分或合并 | 音频管理 | virtual int EnableLocalAudio(bool enable) = 0; | virtual void StartAudioCapture() = 0;virtual void StopAudioCapture() = 0; | |
| 拆分或合并 | 视频管理 | virtual int EnableLocalVideo(bool enable) = 0; | virtual void StartVideoCapture() = 0;virtual void StopVideoCapture() = 0; | |
| 方法行为变化 | 视频管理 | virtual void SetExternalVideoSource(bool enable) = 0; | virtual void SetExternalVideoSource(bool enable) = 0; | |
| 方法行为变化 | 自定义音频采集渲染 | virtual void SetExternalVideoSource(bool enable) = 0; | virtual void SetExternalVideoSource(bool enable) = 0; | |
| 删除 | 视频管理 | virtual int StartPreview() = 0; | / | |
| 删除 | 视频管理 | virtual int StopPreview() = 0; | / |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 新增了枚举值:kWarningCodeMediaDeviceOperationDeniedkWarningCodeInvalidCanvasHandle |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 名称变化 | 视频设备管理 | virtual int InitRecordingDeviceForTest(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int InitAudioCaptureDeviceForTest(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int InitPlaybackDeviceForTest(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int InitAudioPlaybackDeviceForTest(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int StopAudioRecordingDeviceTest() = 0; | virtual int StopAudioCaptureDeviceTest() = 0; | |
| 名称变化 | 视频设备管理 | virtual int StartAudioRecordingDeviceTest(int indication_interval) = 0; | virtual int StartAudioCaptureDeviceTest(int indication_interval) = 0; | |
| 名称变化 | 视频设备管理 | virtual int StopPlaybackDeviceTest() = 0; | virtual int StopAudioPlaybackDeviceTest() = 0; | |
| 名称变化 | 视频设备管理 | virtual int StartPlaybackDeviceTest(const char* test_audio_file_path) = 0; | virtual int StartAudioPlaybackDeviceTest(const char* test_audio_file_path) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetRecordingDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int GetAudioCaptureDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetPlaybackDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int GetAudioPlaybackDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetRecordingDeviceMute(bool* mute) = 0; | virtual int GetAudioCaptureDeviceMute(bool* mute) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetRecordingDeviceMute(bool mute) = 0; | virtual int SetAudioCaptureDeviceMute(bool mute) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetPlaybackDeviceMute(bool* mute) = 0; | virtual int GetAudioPlaybackDeviceMute(bool* mute) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetPlaybackDeviceMute(bool mute) = 0; | virtual int SetAudioPlaybackDeviceMute(bool mute) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetRecordingDeviceVolume(unsigned int* volume) = 0; | virtual int GetAudioCaptureDeviceVolume(unsigned int* volume) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetRecordingDeviceVolume(unsigned int volume) = 0; | virtual int SetAudioCaptureDeviceVolume(unsigned int volume) = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetPlaybackDeviceVolume(unsigned int* volume) = 0; | virtual int GetAudioPlaybackDeviceVolume(unsigned int* volume) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetPlaybackDeviceVolume(unsigned int volume) = 0; | virtual int SetAudioPlaybackDeviceVolume(unsigned int volume) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetRecordingDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int SetAudioCaptureDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetPlaybackDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int SetAudioPlaybackDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual IAudioDeviceCollection* EnumerateRecordingDevices() = 0; | virtual IDeviceCollection* EnumerateAudioCaptureDevices() = 0; | |
| 名称变化 | 视频设备管理 | virtual IAudioDeviceCollection* EnumeratePlaybackDevices() = 0; | virtual IDeviceCollection* EnumerateAudioPlaybackDevices() = 0; | |
| 名称变化 | 视频设备管理 | virtual int GetDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int GetVideoCaptureDevice(char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual int SetDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | virtual int SetVideoCaptureDevice(const char device_id[MAX_DEVICE_ID_LENGTH]) = 0; | |
| 名称变化 | 视频设备管理 | virtual IVideoDeviceCollection* EnumerateVideoDevices() = 0; | virtual IDeviceCollection* EnumerateVideoCaptureDevices() = 0; | |
| 参数变化 | 视频设备管理 | virtual int SwitchCamera() = 0; | virtual int SwitchCamera(CameraID camera_id) = 0; | |
| 名称和参数变化 | 视频设备管理 | virtual void SetEnableSpeakerphone(bool enable) = 0; | virtual int SetAudioPlaybackDevice(AudioPlaybackDevice device) = 0; | |
| 删除 | 视频设备管理 | virtual void Release() = 0; | / | IVideoDeviceManager 类型下 Release 删除 |
| 删除 | 音频设备管理 | virtual void Release() = 0; | / | IAudioDeviceManager 类型下 Release 删除 |
| 删除 | 音频设备管理 | virtual void SetEnableSpeakerphone(bool enable) = 0; | / | |
| 删除 | 音频设备管理 | virtual int GetPlaybackDeviceInfo(char device_id[MAX_DEVICE_ID_LENGTH], char device_name[MAX_DEVICE_ID_LENGTH]) = 0; | / | |
| 删除 | 音频设备管理 | virtual int GetRecordingDeviceInfo(char device_id[MAX_DEVICE_ID_LENGTH], char device_name[MAX_DEVICE_ID_LENGTH]) = 0; | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 参数变化 | 引擎管理 | virtual void OnMediaDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, bytertc::MediaDeviceState device_state) | virtual void OnMediaDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, bytertc::MediaDeviceState device_state, bytertc::MediaDeviceError device_error) | MediaDeviceType 枚举值名称变更 |
| 参数变化 | 房间管理 | virtual void OnUserJoined(const UserInfo& user_info, const char* team_id, const RangeAudioMode send_mode, int elapsed) | virtual void OnUserJoined(const UserInfo& user_info, int elapsed) | |
| 删除 | 引擎管理 | virtual void OnMediaDeviceNotification(const char* device_id,bytertc::MediaDeviceType device_type,bytertc::MediaDeviceNotification notification_type) {(void)device_id;(void)device_type;(void)notification_type;} | / | 枚举类 MediaDeviceNotification 已删除 | |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | MediaDeviceState | 删除了枚举值: kMediaDeviceStateStartFailedkMediaDeviceStateStopFailedkMediaDeviceStateRuntimeErrorkMediaDeviceStateAddedkMediaDeviceStateRemoved |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | WarningCode | 新增了枚举值:kWarningCodeRecordingSilence |
| 枚举值增减 | LocalVideoStreamError | 新增了枚举值:kLocalVideoStreamErrorDeviceDisconnected |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 名称变化 | 引擎管理 | BYTE_API void DestroyByteRtcEngine(bytertc::IRtcEngine* engine); | BYTERTC_API void DestroyRtcEngine(bytertc::IRtcEngine* engine); | |
| 名称变化 | 视频管理 | int SetVideoProfiles(const VideoSolution* solutions, int solution_num) | int SetVideoEncoderConfig(const VideoSolution* solutions, int solution_num) | |
| 名称变化 | 房间管理 | virtual void LeaveChannel() | virtual void LeaveRoom() | |
| 名称变化 | 房间管理 | virtual void RenewToken(const char* token) | virtual void UpdateToken(const char* token) | |
| 参数变化 | 加密 | void SetEncryptInfo(ByteEngineEncryptType encrypt_type, const char* key, int key_size) | void SetEncryptInfo(EncryptType encrypt_type, const char* key, int key_size) | |
| 参数变化 | 加密 | void SetCustomizeEncryptHandler(IByteEngineEncryptHandler* handler) | void SetCustomizeEncryptHandler(IEncryptHandler* handler)) | |
| 参数变化 | 房间管理 | virtual void EnableAutoSubscribe(SubscribeMode audio_mode, SubscribeMode video_mode) = 0; | virtual void EnableAutoSubscribe(SubscribeMode audio_mode, SubscribeMode video_mode) = 0; | SubscribeMode 枚举值名称变化 |
| 参数变化 | 性能回退 | virtual int SetPublishFallbackOption(int option) = 0; | virtual int SetPublishFallbackOption(PublishFallbackOption option) | |
| 参数变化 | 性能回退 | virtual int SetSubscribeFallbackOption(SubscribeFallbackOptions option) | virtual int SetSubscribeFallbackOption(SubscribeFallbackOption option) | |
| 参数变化 | 视频管理 | int ReplaceBackground(BACKGROUND_MODE mode, DIVIDE_MODEL divide_model) | int ReplaceBackground(BackgroundMode mode, DivideMode divide_model) = 0; | |
| 参数变化 | 视频管理 | void SetLocalVideoMirrorMode(bool enable) | void SetLocalVideoMirrorMode(MirrorMode mode) | |
| 参数变化 | 视频管理 | virtual bool PushScreenFrame(IByteVideoFrame* frame) | virtual bool PushScreenFrame(IVideoFrame* frame) | |
| 参数变化 | 视频管理 | virtual bool PushExternalVideoFrame(IByteVideoFrame* frame) | virtual bool PushExternalVideoFrame(IVideoFrame* frame) | |
| 名称和参数变化 | 视频管理 | int MuteLocalVideoStream(bool mute) | void MuteLocalVideo(MuteState state) | |
| 名称和参数变化 | 视频管理 | BYTE_API IByteVideoFrame* BuildByteVideoFrame(const ByteVideoFrameBuilder& builder) | BYTERTC_API IVideoFrame* BuildVideoFrame(const VideoFrameBuilder& builder) | |
| 名称和参数变化 | 引擎管理 | virtual const char* GetVersion(int* build) = 0; | BYTERTC_API const char* GetSDKVersion() | |
| 名称和参数变化 | 房间管理 | virtual int JoinChannel(const char* token, const char* channel_id, const char* uid, const char* info) | virtual int JoinRoom(const char* token, const char* room_id, const UserInfo& user_info, RoomProfileType profile_type) | |
| 名称和参数变化 | 房间管理 | virtual void SetClientRole(CLIENT_ROLE_TYPE role) | virtual void SetUserRole(UserRoleType role) | |
| 拆分或合并 | 视频管理 | int SetupLocalVideo(const VideoCanvas& canvas)int SetupLocalScreen(const VideoCanvas& canvas) | void SetLocalVideoCanvas(StreamIndex index, const VideoCanvas& canvas) | |
| 拆分或合并 | 视频管理 | void SetupRemoteVideo(const VideoCanvas& canvas)void SetupRemoteScreen(const VideoCanvas& canvas) | void SetRemoteVideoCanvas(char* user_id, StreamIndex index, const VideoCanvas& canvas) | |
| 拆分或合并 | 视频管理 | void MuteRemoteVideoStream(const char* userid)void UnmuteRemoteVideoStream(const char* userid) | void MuteRemoteVideo(const char* uid, MuteState state) | |
| 拆分或合并 | 视频管理 | void MuteAllRemoteVideoStreams()void UnmuteAllRemoteVideoStreams() | void MuteAllRemoteVideo(MuteState state) | |
| 拆分或合并 | 引擎管理 | BYTE_API bytertc::IRtcEngine* CreateByteRtcEngine(const char* app_id, bytertc::IRtcEngineEventHandler* event_handler);BYTE_API bytertc::IRtcEngine* CreateByteRtcEngineWithParameters(const char* app_id, bytertc::IRtcEngineEventHandler* event_handler, const char* parameters); | BYTERTC_API bytertc::IRtcEngine* CreateRtcEngine(const char* app_id, bytertc::IRtcEngineEventHandler* event_handler, const char* parameters); | |
| 拆分或合并 | 音频管理 | void SetExternalAudioSource(bool enable, int sample_rate, unsigned int record_channels, unsigned int playout_channels) | void EnableExternalAudioDevice(const AudioFormat &recording_format, const AudioFormat &playback_format)void DisableExternalAudioDevice() | 旧版接口拆分为 EnableExternalAudioDevice 和 DisableExternalAudioDevice |
| 删除 | 房间管理 | virtual void SetChannelProfile(CHANNEL_PROFILE_TYPE profile_type) | / | 删除旧版接口,设置 channelProfile 使用 joinRoom |
| 删除 | 房间管理 | virtual int JoinChannel( const char* token, const char* channel_id, const char* uid, const char* info, const char* trace_id) | / | |
| 删除 | 引擎管理 | BYTE_API void EnablePerformanceCollect(bool enable); | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 名称变化 | 房间管理 | virtual void OnChannelError(int err) | virtual void OnRoomError(int err) | |
| 名称变化 | 房间管理 | virtual void OnChannelWarning(int warn) | virtual void OnRoomWarning(int warn) | |
| 名称变化 | 性能回退 | virtual void OnRemoteStreamSwitch(const RemoteStreamSwitch& event) | virtual void OnSimulcastSubscribeFallback(const RemoteStreamSwitch& event) | |
| 参数变化 | 网络连接 | void OnConnectionStateChanged(bytertc::CONNECTION_STATE state) | void OnConnectionStateChanged(bytertc::ConnectionState state) | |
| 参数变化 | 房间管理 | virtual void OnStreamRemove(const ByteStream& stream, RtcStreamRemoveReason reason) | virtual void OnStreamRemove(const MediaStreamInfo& stream, StreamRemoveReason reason) | |
| 参数变化 | 房间管理 | virtual void OnStreamAdd(const ByteStream& stream) | virtual void OnStreamAdd(const MediaStreamInfo& stream) | |
| 参数变化 | 房间管理 | virtual void OnUserJoined(const char* uid, const char* team_id, const RangeAudioMode send_mode, int elapsed) | virtual void OnUserJoined(const UserInfo& user_info, const char* team_id, const RangeAudioMode send_mode, int elapsed) | |
| 参数变化 | 引擎管理 | virtual void OnMediaDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, bytertc::MediaDeviceState device_state) | virtual void OnMediaDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, bytertc::MediaDeviceState device_state) | MediaDeviceType 和 MediaDeviceState 枚举值名称变化 |
| 参数变化 | 性能回退 | void OnPerformanceAlarms(``**int** level, **const** bytertc::SourceWantedData& data) | virtual void OnPerformanceAlarms(bytertc::PerformanceAlarmMode mode, const char* room_id, bytertc::PerformanceAlarmReason reason, const bytertc::SourceWantedData& data) | |
| 参数变化 | 视频管理 | virtual bool OnRemoteVideoFrame(const char* roomid, const char* uid, IByteVideoFrame* videoFrame) | virtual bool OnRemoteVideoFrame(const char* roomid, const char* uid, IVideoFrame* videoFrame) | IVideoFrame 类型名称变化 |
| 参数变化 | 视频管理 | virtual bool OnLocalVideoFrame(IByteVideoFrame* videoFrame) | virtual bool OnLocalVideoFrame(IVideoFrame* videoFrame) | IVideoFrame 类型名称变化 |
| 参数变化 | 视频管理 | virtual bool OnLocalScreenFrame(IByteVideoFrame* videoFrame) ; | virtual bool OnLocalScreenFrame(IVideoFrame* videoFrame) | IVideoFrame 类型名称变化 |
| 参数变化 | 视频管理 | virtual bool OnRemoteScreenFrame(const char* roomid, const char* uid, IByteVideoFrame* videoFrame) | virtual bool OnRemoteScreenFrame(const char* roomid, const char* uid, IVideoFrame* videoFrame) | IVideoFrame 类型名称变化 |
| 参数变化 | 视频管理 | void OnLocalVideoStateChanged(LocalVideoStreamState state, LocalVideoStreamError error) | void OnLocalVideoStateChanged(StreamIndex stream_index,LocalVideoStreamState state, LocalVideoStreamError error) | |
| 参数变化 | 视频管理 | void OnRemoteVideoStateChanged(const char* uid, RemoteVideoState state, RemoteVideoStateReason reason, int elapsed) | void OnRemoteVideoStateChanged( RemoteStreamKey key, RemoteVideoState state, RemoteVideoStateReason reason) | |
| 参数变化 | 视频管理 | void OnUserMuteVideo(const char* uid, bool muted) | void OnUserMuteVideo(const char* uid, MuteState mute) | |
| 参数变化 | 视频管理 | void OnMuteAllRemoteVideo(const char* uid, bool muted) | void OnMuteAllRemoteVideo(const char* uid, MuteState mute) | |
| 参数变化 | 视频数据回调 | virtual bool OnReadyToSendMetadata(ByteMetadataBuffer* metadata) | virtual bool OnReadyToSendMetadata(VideoMetadataBuffer* metadata) | VideoMetadataBuffer 类型变化 |
| 参数变化 | 视频数据回调 | virtual void OnMetadataReceived(const char* roomid, const char* uid, const ByteMetadataBuffer& metadata) | virtual void OnMetadataReceived(const char* roomid, const char* uid, const VideoMetadataBuffer& metadata) | VideoMetadataBuffer 类型变化 |
| 参数变化 | 音频管理 | OnRemoteAudioStateChanged(const RemoteStreamKey& key, RemoteAudioState state, RemoteAudioStateReason reason) | OnRemoteAudioStateChanged(const RemoteStreamKey& key, RemoteAudioState state, RemoteAudioStateChangeReason reason) | |
| 参数变化 | 流消息 | virtual void OnUserMessageSendResult(int64_t msgid, int error) | virtual void OnUserMessageSendResult(int64_t msgid, int error) | UserMessageSendResult 枚举值名称变更 & 新增枚举值 | |
| 拆分或合并 | 房间管理 | virtual void OnJoinChannelSuccess(const char* room_id, const char* uid, int elapsed)virtual void OnRejoinChannelSuccess(const char* room_id, const char* uid, int elapsed) | virtual void OnJoinRoomResult(const char* room_id, const char* uid, int error_code, JoinRoomType join_type, int elapsed) | 旧版接口合并为 OnJoinRoomResult |
| 拆分或合并 | 视频管理 | void OnFirstLocalVideoFrame(int width, int height, int elapsed)void OnFirstLocalScreenFrame(int width, int height, int elapsed) | void OnFirstLocalVideoFrameCaptured(StreamIndex index, VideoFrameInfo info) | 旧版接口合并为 OnFirstLocalVideoFrameCaptured |
| 拆分或合并 | 视频管理 | void OnFirstRemoteScreenFrame(const char* uid, int width, int height, int elapsed)void OnFirstRemoteVideoFrame(const char* uid, int width, int height, int elapsed) | void OnFirstRemoteVideoFrameRendered(const RemoteStreamKey key, const FrameInfo& info) | 旧版接口合并为 OnFirstRemoteVideoFrameRendered |
| 拆分或合并 | 视频管理 | void OnVideoSizeChanged(const char* uid, int width, int height, int rotation) | void OnLocalVideoSizeChanged(StreamIndex index, const FrameInfo& info)void OnRemoteVideoSizeChanged(RemoteStreamKey key, const FrameInfo& info) | |
| 拆分或合并 | 数据统计 | void OnRemoteAudioStats(const RemoteAudioStats& stats)void OnRemoteVideoStats(const RemoteVideoStats& stats)void OnNetworkQuality(const char* uid, NetworkQuality tx_quality, NetworkQuality rx_quality) | void OnRemoteStreamStats(const RemoteStreamStats& stats) | 旧版接口合并为 OnRemoteStreamStats |
| 拆分或合并 | 数据统计 | void OnLocalAudioStats(const LocalAudioStats& stats)void OnLocalVideoStats(const LocalVideoStats& stats)void OnNetworkQuality(const char* uid, NetworkQuality tx_quality, NetworkQuality rx_quality) | void OnLocalStreamStats(const LocalStreamStats& stats) | 旧版接口合并为 OnLocalStreamStats |
| 删除 | 房间管理 | virtual void OnLoginCompletion(int error_code, const ByteStream* list_streams, int stream_number) | / | |
| 删除 | 数据统计 | void OnAudioQuality(const char* uid, int quality, unsigned short delay, unsigned short lost) | / | |
| 名称和参数变化 | 房间管理 | virtual void OnUserOffline(const char* uid, USER_OFFLINE_REASON_TYPE reason) | virtual void OnUserLeave(const char* uid, UserOfflineReason reason) | |
| 名称和参数变化 | 房间管理 | virtual void OnLeaveChannel(const RtcStats& stats) | virtual void OnLeaveRoom(const RtcRoomStats& stats) | |
| 名称和参数变化 | 数据统计 | void OnRtcStats(const RtcStats& stats) | void OnRoomStats(const RtcRoomStats& stats) |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 名称变化 | ProblemFeedbackOption | 替代PROBLEM_FEEDBACK |
| 名称变化 | ManagedMemory | 替代ByteManagedMemory |
| 枚举值增减 | UserMessageSendResult | 新增了枚举值:kUserMessageSendResultInit |
| 枚举值增减 | RemoteAudioStats | 删除了枚举值:uid,此变量请参考 RemoteStreamStats 中的 uid |
| 枚举值增减 | RemoteVideoStats | 删除了枚举值:uid,此变量请参考 RemoteStreamStats 中的 uid |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 名称变化 | 视频管理 | int SetVideoProfiles(const VideoSolution* solutions, int solution_num) | int SetVideoEncoderConfig(const VideoSolution* solutions, int solution_num) | |
| 名称变化 | 音频管理 | void AdjustRecordingSignalVolume(const int volume) | void SetRecordingVolume(const int volume) | |
| 名称变化 | 音频管理 | void AdjustPlaybackSignalVolume(const int volume) | void SetPlaybackVolume(const int volume) | |
| 名称变化 | 音频管理 | void AdjustAudioLoopbackCaptureVolume(int volume) | void SetScreenAudioVolumeBeforeMixing(int volume) | |
| 名称变化 | 音频管理 | void AdjustRemoteAudioVolume(const char* uid, int volume) | void SetRemoteAudioPlaybackVolume(const char* uid, int volume) | |
| 参数变化 | 视频管理 | void SetLocalVideoMirrorMode(bool enable) | void SetLocalVideoMirrorMode(MirrorMode mode) | |
| 名称和参数变化 | 视频管理 | int MuteLocalVideoStream(bool mute) | void MuteLocalVideo(MuteState state) | |
| 名称和参数变化 | 音频管理 | int MuteLocalAudioStream(bool mute) | void MuteLocalAudio(MuteState mute_state) | |
| 名称和参数变化 | 音频管理 | void SetAudioPerfProfile(AudioPerfProfile profile) | void SetAudioPerformanceProfile(AudioPerformanceProfile profile) | |
| 名称和参数变化 | 音频管理 | void EnableAudioVolumeIndication(int interval, int smooth) | void SetAudioVolumeIndicationInterval(int interval) | |
| 拆分或合并 | 视频管理 | int SetupLocalVideo(const VideoCanvas& canvas)int SetupLocalScreen(const VideoCanvas& canvas) | void SetLocalVideoCanvas(StreamIndex index, const VideoCanvas& canvas) | |
| 拆分或合并 | 视频管理 | void SetupRemoteVideo(const VideoCanvas& canvas)void SetupRemoteScreen(const VideoCanvas& canvas) | void SetRemoteVideoCanvas(char* user_id, StreamIndex index, const VideoCanvas& canvas) | |
| 拆分或合并 | 视频管理 | void MuteRemoteVideoStream(const char* userid)void UnmuteRemoteVideoStream(const char* userid) | void MuteRemoteVideo(const char* uid, MuteState state) | |
| 拆分或合并 | 视频管理 | void MuteAllRemoteVideoStreams()void UnmuteAllRemoteVideoStreams() | void MuteAllRemoteVideo(MuteState state) | |
| 拆分或合并 | 音频管理 | void EnableAudioLoopBackCapture(bool enable) | void StartMixScreenAudioToMainStream();void StopMixScreenAudioToMainStream() | |
| 拆分或合并 | 音频管理 | void SetDefaultMuteAllRemoteAudioStreams(bool mute)void MuteAllRemoteAudio()void UnmuteAllRemoteAudioStreams() | void MuteAllRemoteAudio(MuteState mute_state) | |
| 拆分或合并 | 音频管理 | void MuteRemoteAudioStream(const char* uid)void UnmuteRemoteAudioStream(const char* uid) | void MuteRemoteAudio(const char* user_id, MuteState mute_state) |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 参数变化 | 视频管理 | void OnLocalVideoStateChanged(LocalVideoStreamState state, LocalVideoStreamError error) | void OnLocalVideoStateChanged(StreamIndex stream_index,LocalVideoStreamState state, LocalVideoStreamError error) | |
| 参数变化 | 视频管理 | void OnRemoteVideoStateChanged(const char* uid, RemoteVideoState state, RemoteVideoStateReason reason, int elapsed) | void OnRemoteVideoStateChanged( RemoteStreamKey key, RemoteVideoState state, RemoteVideoStateReason reason) | |
| 参数变化 | 视频管理 | void OnUserMuteVideo(const char* uid, bool muted) | void OnUserMuteVideo(const char* uid, MuteState mute) | |
| 参数变化 | 视频管理 | void OnMuteAllRemoteVideo(const char* uid, bool muted) | virtual void OnMuteAllRemoteVideo(const char* uid, MuteState mute) | |
| 参数变化 | 音频管理 | void OnMuteAllRemoteAudio(const char* uid, bool muted) | void OnMuteAllRemoteAudio(const char* user_id, MuteState mute_state) | |
| 参数变化 | 音频管理 | void OnAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speaker_number, int total_volume) | void OnAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speaker_number, int total_remote_volume) | |
| 参数变化 | 音频管理 | void OnUserMuteAudio(const char* uid, bool muted) | void OnUserMuteAudio(const char* user_id, MuteState mute_state) | |
| 参数变化 | 音频管理 | void OnFirstLocalAudioFrame(int elapsed) | void OnFirstLocalAudioFrame(StreamIndex index) | |
| 参数变化 | 音频管理 | void OnFirstRemoteAudioFrame(const char* uid, int elapsed) | void OnFirstRemoteAudioFrame(RemoteStreamKey key) | |
| 参数变化 | 音频管理 | void OnRemoteAudioStateChanged(const char* uid, RemoteAudioState state, RemoteAudioStateReason reason, int elapsed) | void OnRemoteAudioStateChanged(RemoteStreamKey key, RemoteAudioState state, RemoteAudioStateReason reason) | |
| 拆分或合并 | 视频管理 | void OnFirstLocalVideoFrame(int width, int height, int elapsed)void OnFirstLocalScreenFrame(int width, int height, int elapsed) | void OnFirstLocalVideoFrameCaptured(StreamIndex index, VideoFrameInfo info) | / |
| 拆分或合并 | 视频管理 | void OnFirstRemoteScreenFrame(const char* uid, int width, int height, int elapsed)void OnFirstRemoteVideoFrame(const char* uid, int width, int height, int elapsed) | void OnFirstRemoteVideoFrameRendered(const RemoteStreamKey key, const FrameInfo& info) | / |
| 拆分或合并 | 视频管理 | void OnVideoSizeChanged(const char* uid, int width, int height, int rotation) | void OnLocalVideoSizeChanged(StreamIndex index, const FrameInfo& info)void OnRemoteVideoSizeChanged(RemoteStreamKey key, const FrameInfo& info) | / |
| 拆分或合并 | 引擎管理 | void OnConnecting()void OnReconnecting()void OnConnected()void OnDisconnected()void OnConnectionLost()void OnConnectionInterrupted() | void OnConnectionStateChanged(CONNECTION_STATE state) | 多个旧版回调合并为 OnConnectionStateChanged 中的多个状态 |
| 删除 | 视频管理 | void OnFirstRemoteVideoDecoded(const char* uid, int width, int height, int elapsed) | / |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 房间管理 | void EnableAutoSubscribe(bool auto_subscribe) | void EnableAutoSubscribe(SubscribeMode audio_mode, SubscribeMode video_mode) |
以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:
| 变更详情 | 数据类型 | 备注 |
|---|---|---|
| 枚举值增减 | CLIENT_ROLE_TYPE | 删除了枚举值:CLIENT_ROLE_AUDIENCE,建议使用 CLIENT_ROLE_SILENT_AUDIENCE 代替。 |
以下表格中的错误码发生了变化,你需要进行相应的处理:
| 变更详情 | 错误码 | 备注 |
|---|---|---|
| 枚举值增减 | RTC_ERROR_CODE | 新增了枚举值:BRERR_OVER_STREAM_PUBLISH_LIMITBRERR_OVER_SCREEN_PUBLISH_LIMITBRERR_OVER_VIDEO_PUBLISH_LIMIT |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 删除 | / | int Feedback(const char* data) | / | |
| 删除 | 音频管理 | int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) | / | |
| 删除 | 视频管理 | void RemoveLocalVideo() | / | |
| 删除 | 视频管理 | void RemoveLocalScreen() | / | |
| 删除 | 视频管理 | void RemoveRemoteVideo(const char* userid) | / | |
| 删除 | 视频管理 | void RemoveRemoteScreen(const char* userid) | / | |
| 删除 | 视频管理 | void RemoteFristVideoFrameRendered(const char* userid, unsigned int elapse) | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 删除 | 音频管理 | void OnRemoteAudioMixingBegin() | / |
以下表格中的方法发生了变化。你需要在工程文件中找到该方法,并进行相关修改:
| 变更详情 | 功能模块 | 变动前方法 | 变动后方法 | 备注 |
|---|---|---|---|---|
| 参数变化 | 房间管理 | void Unsubscribe(const char* stream_id) | void Unsubscribe(const char* user_id, bool is_screen) | |
| 参数变化 | 房间管理 | void SubscribeStream(const char* stream_id, const SubscribeConfig& info) | void SubscribeStream(const char* user_id, const SubscribeConfig& info) | |
| 删除 | / | CreateByteRtcEngineWithParameters(const char* app_id, bytertc::IRtcEngineEventHandler* event_handler, const char* parameters) | / | |
| 删除 | / | createByteRtcEngineWithPtrAndParameters(const char* app_id, std::unique_ptr<bytertc::IRtcEngineEventHandler> event_handler, const char* parameters); | / | |
| 删除 | / | void UpdateCloudRending(const char* cloudrenderJsonString) override | / |
以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:
| 变更详情 | 功能模块 | 变动前回调 | 变动后回调 | 备注 |
|---|---|---|---|---|
| 参数变化 | 音频管理 | void OnRemoteAudioFrame(const char* stream_id, const IByteAudioFrame& audio_frame, const ByteStreamInfo& stream_info) | void OnRemoteAudioFrame(const IByteAudioFrame& audio_frame, const ByteStreamInfo& stream_info) | |
| 参数变化 | 房间管理 | void OnStreamRemove(const ByteStream& stream) | void OnStreamRemove(const ByteStream& stream, RtcStreamRemoveReason reason) | |
| 删除 | 音频设备管理 | void OnAudioDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, bytertc::MediaDeviceStateType device_state) | / | |
| 删除 | 视频设备管理 | void OnVideoDeviceStateChanged(const char* device_id, bytertc::MediaDeviceType device_type, ytertc::MediaDeviceStateType device_state) | / |