You need to enable JavaScript to run this app.
导航

Web 客户端升级指南

最近更新时间2024.02.21 12:55:32

首次发布时间2022.07.12 15:07:48

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

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

4.53

类型变更

以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:

变更详情数据类型备注
默认值变更VideoRenderMode主流视频渲染模式默认值由 RENDER_MODE_FIT 变更为 RENDER_MODE_HIDDEN

4.52

方法变更

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

变更详情功能模块变动前方法变动后方法备注
名称变更视频处理enable: () => void;enableBeauty: () => void;
名称变更视频处理disable: () => void;disableBeauty: () => void;

4.51

方法变更

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

变更详情功能模块变动前方法变动后方法备注
返回值变更音频管理setAudioProfile: (profile: AudioProfileType) => void;setAudioProfile: (profile: AudioProfileType) => Promise<void>;
重构视频管理
  • setVideoCaptureConfig: (config: TrackCaptureConfig) => Promise<MediaTrackSettings>;
  • setVideoEncoderConfig: (descriptions: VideoEncoderConfig | VideoEncoderConfig[]) => Promise<void>;
setVideoEncoderConfig: (descriptions: VideoEncoderConfig | VideoEncoderConfig[]) => Promise<void>;合并视频采集参数和编码参数,不再支持单独设置视频采集参数,提升兼容性。
默认分辨率由 640 × 360 px 调整为 640 × 480 px。

类型变更

以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:

变更详情数据类型备注
属性增删RoomConfig删除属性:roomProfileType
属性类型变更VideoEncoderConfigwidthheight 的类型由 number 变更为 ConstrainULongframeRate 的类型由 number 变更为 ConstrainDouble
属性类型变更ScreenEncoderConfigwidthheight 的类型由 number 变更为 ConstrainULongframeRate 的类型由 number 变更为 ConstrainDouble

错误码变更

以下表格中的错误码发生了变化,你需要进行相应的处理:

变更详情错误码备注
成员变更ErrorCode新增成员:USER_MESSAGE_EXCEED_QPS

4.49

方法变更

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

变更详情功能模块变动前方法变动后方法备注
参数变更视频管理play: (userId?: string) => Promise<void>;play: (userId?: string, mediaType?: MediaType, streamIndex?: StreamIndex) => Promise<void>;
参数变更音频管理startAudioDeviceRecordTest: (indicationInterval: number) => Promise<void>;startAudioDeviceRecordTest: (indicationInterval: number, onAutoplayFailed?: (resume: () => Promise<any>) => any) => Promise<void>;
返回值变更视频管理setVideoCaptureConfig: (config: TrackCaptureConfig) => Promise<void>;setVideoCaptureConfig: (config: TrackCaptureConfig) => Promise<MediaTrackSettings>; (已于 v4.51 废弃)

4.47

回调变更

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

变更详情功能模块变动前方法变动后方法备注
替换媒体流管理onAudioFirstFrameDecodedonRemoteAudioFirstFrame
替换媒体流管理
  • onVideoFirstFrameDecoded
  • onVideoFirstFrameRendered
  • onRemoteVideoFirstFrame

    4.45

    类型变更

    以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:

    变更详情数据类型备注
    枚举值增删ConnectionState增加枚举值:CONNECTION_STATE_LOST(6)

    4.44

    方法变更

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

    变更详情功能模块变动前方法变动后方法备注

    拆分

    音视频传输

    • subscribeUserStream(userId: string, mediaType: SubscribeMediaType, streamType?: StreamIndex, configure?: SubscribeVideoConfig): Promise<void>;

    • unSubscribe(userId: string, isScreen: boolean): Promise<void>;

    单房间模式下,解耦摄像头/麦克风采集的媒体流与屏幕共享媒体流的订阅/取消订阅

    合并

    音视频传输

    • publish(): Promise<void>;

    • unpublish(): Promise<void>;

    • muteLocalAudio(muteState: MuteState): Promise<boolean>;

    • muteLocalVideo(muteState: MuteState): Promise<boolean>;

    新增独立接口单独控制摄像头/麦克风采集的音频/视频的发布/取消发布

    参数变化

    高级功能

    • publishScreen: Promise<void>

    • unpublishScreen(): Promise<void>

    新增参数,设置发布/取消发布的媒体类型

    音视频传输pauseAllSubscribedStream(mediaType: PauseResumeControlMediaType): Promise<void>pauseAllSubscribedStream(mediaType: MediaType): Promise<void>
    resumeAllSubscribedStream(mediaType: PauseResumeControlMediaType): Promise<void>resumeAllSubscribedStream(mediaType: MediaType): Promise<void>
    视频管理setVideoEncoderConfig(streamIndex: StreamIndex, config: VideoEncoderConfig | VideoEncoderConfig[]): Promise<void>setVideoEncoderConfig(config: VideoEncoderConfig | VideoEncoderConfig[]): Promise<void>
    拆分音视频传输通过设置 subscribeUserStream 中的 configure 来控制setRemoteVideoConfig(userId: string; remoteVideoConfig: RemoteVideoConfig): Promise<void>新增 setScreenEncoderConfig 单独设置屏幕流参数
    名称变更音频管理switchMicrophone(deviceId: string): Promise<void>;setAudioCaptureDevice(deviceId: string): Promise<void>;
    视频管理switchCamera(deviceId: string): Promise<void>;setVideoCaptureDevice(deviceId: string): Promise<void>;

    名称变更、返回值更改数据结构

    音频管理、视频管理

    getDevices(): Promise<RTCDevice[]>;

    enumerateDevices(): Promise<MediaDeviceInfo[]>;

    getMicrophones: () => Promise<RTCDevice[]>;enumerateAudioCaptureDevices: () => Promise<MediaDeviceInfo[]>;
    getCameras: () => Promise<RTCDevice[]>;enumerateVideoCaptureDevices: () => Promise<MediaDeviceInfo[]>;
    getAudioPlayback: () => Promise<RTCDevice[]>;enumerateAudioPlaybackDevices: () => Promise<MediaDeviceInfo[]>;

    回调变更

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

    变更详情功能模块变动前方法变动后方法备注

    重构

    房间管理事件

    • [EngineEventsTypes.onStreamAdd]: (event: {stream: RTCStream}) => void;

    • [EngineEventsTypes.onStreamRemove]: (event: {stream: RTCStream; reason: StreamRemoveReason;}) => void;

    • [EngineEventsTypes.onUserMuteAudio]: (event: UserMuteEvent) => void;

    • [EngineEventsTypes.onUserMuteVideo]: (event: UserMuteEvent) => void;

    单房间模式下,解耦新增或移除摄像头/麦克风采集的媒体流与屏幕共享媒体流的回调,同时去除旧版本回调在功能上的重合

    拆分

    音频管理、视频管理

    [EngineEventsTypes.onMediaDeviceStateChanged]: (event: RTCDevice) => void;

    参数变更音频管理[EngineEventsTypes.onAudioPlaybackDeviceChanged]: (event: RTCDevice) => void;[EngineEventsTypes.onAudioPlaybackDeviceChanged]: ( event: MediaDeviceInfo ) => void;
    参数变更CDN 推流[EngineEventsTypes.onLiveTranscodingResult]: (event: LiveTranscodingResultEvent) => void;[EngineEventsTypes.onStreamMixingEvent]: (event: StreamMixingEvent) => void;

    类型变更

    以下表格中的类型发生了变化,你需要在工程文件中找到该类型,并根据变化调整相关处理逻辑:

    变更详情数据类型备注
    成员函数变更RoomConfig新增成员函数:remoteVideoConfig?: RemoteVideoConfig;
    重构SubscribeMediaType废弃,由 MediaType代替
    RTCDevice废弃,由DeviceInfo代替
    重构LiveTranscodingResultEvent废弃,由StreamMixingEventType代替
    新增类型StreamMixingEventErrorCode

    错误码变更

    以下表格中的错误码发生了变化,你需要进行相应的处理:

    变更详情错误码备注
    枚举值增删ErrorCode新增枚举值:INVOKED_BEFORE_JOIN_ROOM

    4.43

    错误码变更

    以下表格中的错误码发生了变化,你需要进行相应的处理:

    变更详情错误码备注
    枚举值增删ErrorCode增加枚举值:RECONNECT_FAILED

    4.42

    方法变更

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

    变更详情功能模块变动前方法变动后方法备注
    参数变更视频管理setVideoEncoderConfig(streamIndex: StreamIndex, descriptions: VideoEncoderConfig[]): Promise<void>;setVideoEncoderConfig(streamIndex: StreamIndex, descriptions: VideoEncoderConfig | VideoEncoderConfig[]): Promise<void>;
    返回值变更视频管理startVideoCapture(deviceId?: string): Promise<void>;startVideoCapture(deviceId?: string): Promise<MediaTrackSettings>;
    名称和参数变化房间管理setAudioVolumeIndicationInterval(interval?: number): void;enableAudioPropertiesReport(config?: AudioPropertiesConfig): void;

    回调变更

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

    变更详情功能模块变动前方法变动后方法备注

    拆分

    音频管理

    [EngineEventsTypes.onAudioVolumeIndication]: (event: {speakers: AudioVolumeInfo[];}) => void;

    /