如果你希望从此前版本的 Electron 客户端 SDK 升级到最新的客户端 SDK,请在工程文件中,替换最新的客户端 SDK 文件,并参考本文完成 API,回调,参数类型等的替换。

升级过程中,你可能需要参考历史版本文档归档。

3.54

该版本为全部 API 增加返回值,通过返回值可以明确发现失败的 API 调用,定位失败原因。具体返回值的含义参看各 API 注释。

方法变更
变更详情功能模块变动前方法变动后方法说明
拆分音视频传输setPublicStreamVideoSink拆分为两个方法
绑定:setPublicStreamVideoSink
解绑:unsetPublicStreamVideoSink
行为变更音频管理等待超时后返回空列表,超时时间默认为 10 s
行为变更视频管理enumerateVideoCaptureDevices等待超时后返回空列表,超时时间默认为 10 s
参数变更引擎管理createRTCVideo删除了入参 document_path。
使用 setLogConfig 指定日志相关配置。
混音相关的方法从 RTCVideo 中剥离出来,具体变动情况请参看混音相关的新旧接口对应表混音RTCVideo
  • RTCMediaPlayer
  • RTCAudioEffectPlayer
一般来说,对于短时间的音效(比如小于 20s),可以使用音效类;对于较长的音频或 PCM 数据,可以使用音乐类。
类型变更
变更详情数据类型说明
参数变更IAudioFrame变量 type 名称变更为 frame_type
类型变更format类型由 number 变更为枚举类 VideoPixelFormat
参数增删IDataFrame删除无意义字段 u32_data_size
参数增删IPublicStreamParam增加参数 bg_color
错误码变更
变更详情错误码备注
枚举值增删ErrorCode删除枚举值:kErrorCodeOverScreenPublishLimit = -1081、kErrorCodeOverVideoPublishLimit = -1082

附:混音相关的新旧接口对应表

接口分类接口用途
废弃类/接口
新类/接口(音效 RTCAudioEffectPlayer)
新类/接口(音乐 RTCMediaPlayer)
备注

混音主调接口

将音效文件加载至内存

  • preloadAudioMixing
  • unloadAudioMixing

播放/停止/暂停/恢复

  • startAudioMixing
  • stopAudioMixing
  • stopAllAudioMixing
  • pauseAudioMixing
  • pauseAllAudioMixing
  • resumeAudioMixing
  • resumeAllAudioMixing

获取/指定位置/时长

  • setAudioMixingPosition
  • getAudioMixingCurrentPosition
  • getAudioMixingDuration

获取/指定音量

  • setAudioMixingVolume
  • NA
调整音调setAudioMixingPitchNAsetAudioPitch
设置声道模式setAudioMixingDualMonoModeNAsetAudioDualMonoMode

获取/设置音轨数

  • getAudioTrackCount
  • selectAudioTrack

NA

Index 取值修改为从 0 开始

设置播放速度setAudioMixingPlaybackSpeedNAsetPlaybackSpeed
设置播放进度回调间隔setAudioMixingProgressIntervalNAsetProgressInterval
设置响度setAudioMixingLoudnessNAsetLoudness

混音回调接口

播放状态回调

onAudioMixingStateChanged

3.52
方法变更
变更详情功能模块方法说明
参数变更引擎管理feedback参数数据类型变更
接口名称变更CDN 推流startLiveTranscoding用 startPushMixedStreamToCDN 替代
stopLiveTranscoding用 stopPushStreamToCDN 替代
updateLiveTranscoding用 updatePushMixedStreamToCDN 替代

接口废弃

高级功能

updatePosition
updateSelfOrientation

用 updateSelfPosition() 替代,新接口支持本地用户同时设置自己的发声位置和发声朝向。

updateListenerPosition
updateListenerOrientation

用 updateRemotePosition()替代,新接口支持本地用户设置远端用户的发声位置和发声朝向。

回调变更
变更详情方法说明

参数变更

onPublicStreamSEIMessageReceived

参数 sourceType 的类型由 SEIMessageSourceType 变更为 DataMessageSourceType
拆分为:

错误码变更
变更详情错误码说明

枚举值变更

PublicStreamErrorCode` | 新增枚举值: |

  • kPublicStreamErrorCodePullNoPushStream = 1300

名称变更:

  • kPublicStreamOK = 0 更新为 kPublicStreamErrorCodeOK = 0

  • kPublicStreamPushInvalidParam = 1191 更新为 kPublicStreamErrorCodePushInvalidParam = 119

  • kPublicStreamPushInvalidStatus = 1192 更新为 kPublicStreamErrorCodePushInvalidStatus = 1192

  • kPublicStreamPushInternalError = 1193 更新为 kPublicStreamErrorCodePushInternalError = 1193

  • kPublicStreamPushFailed = 1195 更新为 kPublicStreamErrorCodePushFailed = 1195

  • kPublicStreamPushTimeout = 1196 更新为 kPublicStreamErrorCodePushTimeout = 1196

ErrorCode新增错误码枚举值:kErrorCodeJoinRoomRoomForbidden=-1025 和 kErrorCodeJoinRoomUserForbidden=-1026。当服务端在指定房间封禁指定用户,而此用户加入房间失败,或从房间中被踢出时收到。
废弃枚举值:kErrorCodeOverScreenPublishLimit=-1081,用 kErrorCodeOverStreamPublishLimit=-1080 代替。
3.50

接口类名称由 veRTCVideo 变更为 RTCVideo,veRTCRoom 变更为 RTCRoom。

方法变更
变更详情功能模块变动前方法变动后方法备注
拆分视频管理registerFaceDetectionObserver* enableFaceDetection
* disableFaceDetection
解除人脸识别与视频特效之间的耦合,提升接口易用性。
废弃范围语音registerRangeAudioObserver
onRangeAudioInfor
None此前,在手动订阅的场景下,如果你希望使用范围语音功能,你必须注册相关回调获取的衰减系数,设定音量。
自此版本起,无论是手动订阅还是自动订阅,衰减效果都由 SDK 实现,无需使用此接口。
替代音频管理muteAudioPlaybacksetPlaybackVolume将本地音量设置为 0 可静音本地音频播放
参数类型变更屏幕共享public setVideoEncoderConfig(solutions: VideoEncoderConfig[]): numbersetScreenVideoEncoderConfig(screenSolution: VideoEncoderConfig): any;参数类型变更为新增的 VideoEncoderConfig
拆分音视频处理* checkLicense
* setAlgoModelPath
initCVResource
enableEffect* enableVideoEffect
* disableVideoEffect
updateNodeupdateEffectNode
setBackgroundSticker* enableVirtualBackground
* disableVirtualBackground
参数变更消息public sendSEIMessage(stream_index: number, message: Uint8Array, repeat_count: number) => numberpublic sendSEIMessage(stream_index: number,message: Uint8Array,repeat_count: number,mode: SEICountPerFrame): number支持 SEI 多发模式,即在 1 帧间隔内多次发送 SEI 数据时,多个 SEI 随下个视频帧同时发送。
回调变更

以下表格中的回调发生了变化。你需要在工程文件中找到该回调,并进行相关修改:

变更详情功能模块变动前方法变动后方法备注
参数变更消息onPublicStreamSEIMessageReceived(public_stream_id: string, message: string) => voidonPublicStreamSEIMessageReceived(public_stream_id: string, source_type: SEIMessageSourceType) => void新增参数 source_type
接口废弃音频管理onRemoteAudioStateChanged 和 onRemoteVideoStateChanged/
替代CDN 推流* onStreamMixingVideoFrame
* onStreamMixingAudioFrame
* onStreamMixingDataFrame
* onMixingVideoFrame
* onMixingAudioFrame
* onMixingDataFrame
类型变更
变更详情数据类型备注
成员变量变更FaceDetectResult新增成员变量:frame_timestamp_us
成员变量变更TranscoderAudioParam新增成员变量:audio_codec_type
成员变量变更TranscoderVideoParam新增成员变量:bFrame
删除了:lowLatency
名称变更:video_codec_profile 变更为 video_codec_type,类型由 TranscoderVideoCodecProfile 改为 TranscoderVideoCodecType
成员变量变更TranscoderLayoutRegion新增成员变量:
corner_radius
type
data
data_param
spatial_position
成员变量变更,名称变更ITranscoderParam类型名称由 TranscoderParam 改为 ITranscoderParam
新增成员变量:expected_mix_type: StreamMixingType
枚举值变更TranscoderAudioCodecProfile删除了 kByteAACProfileMain
kByteAACProfileHEv1 对应的数值由 2 变更为 1
kByteAACProfileHEv2 对应的数值由 3 变更为 2
配置变更RoomProfileType房间属性的默认值 kRoomProfileTypeCommunication = 0,对应的由 kRoomProfileTypeChatRoom = 6 变更为 kRoomProfileTypeMeeting = 16。
新增PublicStreamErrorCodeonPlayPublicStreamResult 和 onPushPublicStreamResult 中的 errorCode 参数类型由 int 改为 PublicStreamErrorCode
参数数据结构改动AudioPropertiesConfig数据结构中,新增参数 smooth
取值范围拓展TranscoderLayoutRegion 中,width 和 height取值范围由 (0.0, 1.0] 拓展为 [0.0, 1.0]。