import { RCRTCAudioConfig, RCRTCAudioMixingMode, RCRTCCamera, RCRTCCameraCaptureOrientation, RCRTCCustomLayout, RCRTCEngineSetup, RCRTCErrorCode, RCRTCIWNetworkProbeStats, RCRTCIWPoint, RCRTCLiveMixLayoutMode, RCRTCLiveMixRenderMode, RCRTCLocalAudioStats, RCRTCLocalVideoStats, RCRTCMediaType, RCRTCNetworkStats, RCRTCRemoteAudioStats, RCRTCRemoteVideoStats, RCRTCRole, RCRTCRoomSetup, RCRTCVideoConfig, RCRTCVideoFps } from './RCRTCDefines'; export default class RCRTCEngine { static _instance: RCRTCEngine | null; /** * 创建 RTC 接口引擎 * * @param setup 引擎初始化配置 * @return 引擎实例 */ static create(setup?: RCRTCEngineSetup | undefined): RCRTCEngine; /** * 销毁引擎 * * @memberof RCRTCEngineInterface */ destroy(): void; /** * 加入房间 * * @param {string} roomId 房间id * @param {RCRTCRoomSetup} setup 房间配置 * @return {*} {void} * @memberof RCRTCEngineInterface 错误码 */ joinRoom(roomId: string, setup: RCRTCRoomSetup): Promise; /** * 离开房间 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ leaveRoom(): Promise; /** * 加入房间后, 发布本地资源 * * @param {RCRTCMediaType} type 媒体资源类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ publish(type: RCRTCMediaType): Promise; /** * 加入房间后, 取消发布已经发布的本地资源 * * @param {RCRTCMediaType} type 媒体资源类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ unpublish(type: RCRTCMediaType): Promise; /** * * @param userId 远端用户 userId * @param type 媒体资源类型 * @param tiny 视频小流, true:订阅视频小流 false:订阅视频大流 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ subscribe(userId: string, type: RCRTCMediaType, tiny: boolean): Promise; /** * 加入房间后, 订阅远端多个用户发布的资源 * * @param {string[]} userIds 远端用户 userId 数组 * @param {RCRTCMediaType} type 媒体资源类型 * @param {boolean} tiny 是否视频小流 true:订阅视频小流 false:订阅视频大流 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ subscribes(userIds: string[], type: RCRTCMediaType, tiny: boolean): Promise; /** * 加入房间后, 取消订阅远端单个用户发布的资源 * * @param {string} userId 远端用户 userId * @param {RCRTCMediaType} type 媒体资源类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ unsubscribe(userId: string, type: RCRTCMediaType): Promise; /** * 加入房间后, 取消订阅远端多个用户发布的资源 * * @param {string[]} userIds 远端用户 userId 数组 * @param {RCRTCMediaType} type 媒体资源类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ unsubscribes(userIds: string[], type: RCRTCMediaType): Promise; /** * 订阅主播合流资源, 仅供直播观众用户使用 * * @param {RCRTCMediaType} type 媒体资源类型 * @param {boolean} tiny 是否视频小流 true:订阅视频小流 false:订阅视频大流 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ subscribeLiveMix(type: RCRTCMediaType, tiny: boolean): Promise; /** * 取消订阅主播合流资源, 仅供直播观众用户使用 * * @param {RCRTCMediaType} type 媒体资源类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface 错误码 */ unsubscribeLiveMix(type: RCRTCMediaType): Promise; /** * 设置默认音频参数, 仅供会议用户或直播主播用户使用 * * @param {RCRTCAudioConfig} config 音频配置 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setAudioConfig(config: RCRTCAudioConfig): Promise; /** * 设置默认视频参数, 仅供会议用户或直播主播用户使用 * * @param {RCRTCVideoConfig} config 视频配置 * @param {false} [tiny] 是否小流 true:视频小流 false:视频大流 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setVideoConfig(config: RCRTCVideoConfig, tiny?: boolean): Promise; /** * 打开/关闭麦克风 * * @param {boolean} enable true 打开, false 关闭 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ enableMicrophone(enable: boolean): Promise; /** * 打开/关闭外放 * * @param {boolean} enable true 打开, false 关闭 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ enableSpeaker(enable: boolean): Promise; /** * 设置麦克风的音量 * * @param {number} volume 0 ~ 100, 默认值: 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustLocalVolume(volume: number): Promise; /** * 打开/关闭摄像头 * * @param {boolean} enable true:打开, false:关闭 * @param {RCRTCCamera} camera 摄像头类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ enableCamera(enable: boolean, camera: RCRTCCamera): Promise; /** * 切换前后摄像头 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ switchCamera(): Promise; /** * 切换到指定摄像头 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ switchToCamera(camera: RCRTCCamera): Promise; /** * 获取当前使用摄像头位置 * * @return {*} {Promise} 摄像头类型 * @memberof RCRTCEngineInterface */ whichCamera(): Promise; /** * 获取摄像头是否支持区域对焦 * * @return {*} {boolean} true: 支持 false: 不支持 * @memberof RCRTCEngineInterface */ isCameraFocusSupported(): Promise; /** * 获取摄像头是否支持区域测光 * * @return {*} {boolean} true: 支持 false: 不支持 * @memberof RCRTCEngineInterface */ isCameraExposurePositionSupported(): Promise; /** * 设置在指定点区域对焦 * * @param {number} x 对焦点,视图上的 x 轴坐标 * @param {number} y 对焦点,视图上的 y 轴坐标 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setCameraFocusPositionInPreview(x: number, y: number): Promise; /** * 设置在指定点区域测光 * * @param {number} x 曝光点,视图上的 x 轴坐标 * @param {number} y 曝光点,视图上的 y 轴坐标 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setCameraExposurePositionInPreview(x: number, y: number): Promise; /** * 设置摄像头采集方向 * * @param {RCRTCCameraCaptureOrientation} orientation 默认以 Portrait 角度进行采集 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setCameraCaptureOrientation(orientation: RCRTCCameraCaptureOrientation): Promise; /** * 设置本地视频渲染窗口 * * @param {number} tag 窗口的 tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLocalView(tag: number): Promise; /** * 移除本地视频渲染窗口 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeLocalView(): Promise; /** * 设置远端视频窗口 * * @param {string} userId 远端用户Id * @param {string} ref 窗口的 ref * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setRemoteView(userId: string, tag: number): Promise; /** * 移除远端视频窗口 * * @param {string} userId 远端用户Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeRemoteView(userId: string): Promise; /** * 设置合流视频窗口 * * @param {number} tag 窗口 tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixView(tag: number): Promise; /** * 移除合流视频窗口 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeLiveMixView(): Promise; /** * 停止本地音视频数据发送 * * @param {RCRTCMediaType} type 媒体类型 * @param {boolean} mute true: 不发送 false: 发送 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ muteLocalStream(type: RCRTCMediaType, mute: boolean): Promise; /** * 停止远端用户音视频数据的接收 * * @param {string} userId 远端用户Id * @param {RCRTCMediaType} type 媒体类型 * @param {boolean} mute true: 不发送 false: 发送 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ muteRemoteStream(userId: string, type: RCRTCMediaType, mute: boolean): Promise; /** * 停止合流数据渲染 * * @param {RCRTCMediaType} type 媒体类型 * @param {boolean} mute true: 不发送 false: 发送 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ muteLiveMixStream(type: RCRTCMediaType, mute: boolean): Promise; /** * 设置 CDN 直播推流地址, 仅供直播主播用户使用 * * @param {string} url 推流地址 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ addLiveCdn(url: string): Promise; /** * 移除 CDN 直播推流地址, 仅供直播主播用户使用 * * @param {string} url 推流地址 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeLiveCdn(url: string): Promise; /** * 设置直播合流布局类型, 仅供直播主播用户使用 * * @param {RCRTCLiveMixLayoutMode} mode 布局类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixLayoutMode(mode: RCRTCLiveMixLayoutMode): Promise; /** * 设置直播合流布局填充类型, 仅供直播主播用户使用 * * @param {RCRTCLiveMixRenderMode} mode 填充类型 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixRenderMode(mode: RCRTCLiveMixRenderMode): Promise; /** * 设置直播合流布局背景颜色, 仅供直播主播用户使用 * * @param color 用于旁路直播的输出视频的背景色,格式为 RGB 定义下的 Hex 值,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认0x000000,黑色。取值范围 [0x000000, 0xFFFFFF] * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixBackgroundColor(color: number): Promise; /** * 设置直播合流布局背景颜色, 仅供直播主播用户使用 * * @param red 红色 取值范围: 0 ~ 255 * @param green 绿色 取值范围: 0 ~ 255 * @param blue 蓝色 取值范围: 0 ~ 255 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixBackgroundColorRgb(red: number, green: number, blue: number): Promise; /** * 设置直播混流布局配置, 仅供直播主播用户使用 * * @param {RCRTCCustomLayout[]} layouts 混流布局列表 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixCustomLayouts(layouts: RCRTCCustomLayout[]): Promise; /** * 设置直播自定义音频流列表, 仅供直播主播用户使用 * * @param {string[]} userIds 音频流列表 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixCustomAudios(userIds: string[]): Promise; /** * 设置直播合流音频码率, 仅供直播主播用户使用 * * @param {number} bitrate 音频码率 单位:kbps * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixAudioBitrate(bitrate: number): Promise; /** * 设置直播合流视频码率, 仅供直播主播用户使用 * * @param {number} bitrate 音频码率 单位:kbps * @param {false} [tiny] 是否小流 true:视频小流 false:视频大流,默认值 false * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixVideoBitrate(bitrate: number, tiny?: boolean): Promise; /** * 设置直播合流视频分辨率, 仅供直播主播用户使用 * * @param width 视频宽度 * @param height 视频高度 * @param {false} tiny 是否小流 true:视频小流 false:视频大流,默认值 false * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixVideoResolution(width: number, height: number, tiny?: boolean): Promise; /** * 设置直播合流视频帧率, 仅供直播主播用户使用 * * @param {RCRTCVideoFps} fps 帧率 * @param {false} tiny 是否小流 true:视频小流 false:视频大流,默认值 false * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixVideoFps(fps: RCRTCVideoFps, tiny?: boolean): Promise; /** * 创建音效文件缓存, 仅供会议用户或直播主播用户使用 * * @param {string} path 本地文件地址 * @param {number} effectId 自定义全局唯一音效Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ createAudioEffect(path: string, effectId: number): Promise; /** * 释放音效文件缓存, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ releaseAudioEffect(effectId: number): Promise; /** * 播放音效文件, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @param {number} volume 音效文件播放音量 * @param {boolean} loop 循环播放次数 默认:1次 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ playAudioEffect(effectId: number, volume: number, loop?: number): Promise; /** * 暂停音效文件播放, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ pauseAudioEffect(effectId: number): Promise; /** * 暂停全部音效文件播放, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ pauseAllAudioEffects(): Promise; /** * 恢复音效文件播放, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ resumeAudioEffect(effectId: number): Promise; /** * 恢复全部音效文件播放, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ resumeAllAudioEffects(): Promise; /** * 停止音效文件播放, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ stopAudioEffect(effectId: number): Promise; /** * 停止全部音效文件播放, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ stopAllAudioEffects(): Promise; /** * 设置音效文件播放音量, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @param {number} volume 音量 0~100, 默认 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustAudioEffectVolume(effectId: number, volume: number): Promise; /** * 获取音效文件播放音量, 仅供会议用户或直播主播用户使用 * * @param {number} effectId 自定义全局唯一音效Id * @return 大于或等于0: 调用成功, 小于0: 调用失败 * @memberof RCRTCEngineInterface */ getAudioEffectVolume(effectId: number): Promise; /** * 设置全局音效文件播放音量, 仅供会议用户或直播主播用户使用 * * @param {number} volume 音量 0~100, 默认 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustAllAudioEffectsVolume(volume: number): Promise; /** * 开始混音, 仅支持混合本地音频文件数据, 仅供会议用户或直播主播用户使用 * * @param {string} path 仅支持本地音频文件 * @param {RCRTCAudioMixingMode} mode 混音行为模式 * @param {boolean} playback 是否本地播放, 默认 true * @param {number} loop 循环混音或者播放次数,默认播放 1 次 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface * @category 混音 */ startAudioMixing(path: string, mode: RCRTCAudioMixingMode, playback?: boolean, loop?: number): Promise; /** * 停止混音, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface * @category 混音 */ stopAudioMixing(): Promise; /** * 暂停混音, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface * @category 混音 */ pauseAudioMixing(): Promise; /** * 恢复混音, 仅供会议用户或直播主播用户使用 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ resumeAudioMixing(): Promise; /** * 设置混音输入音量, 包含本地播放和发送音量, 仅供会议用户或直播主播用户使用 * * @param {number} volume 音量 0~100, 默认 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustAudioMixingVolume(volume: number): Promise; /** * 设置混音本地播放音量, 仅供会议用户或直播主播用户使用 * * @param {number} volume 音量 0~100, 默认 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustAudioMixingPlaybackVolume(volume: number): Promise; /** * 获取混音本地播放音量, 仅供会议用户或直播主播用户使用 * * @return 大于或等于0: 调用成功, 小于0: 调用失败 * @memberof RCRTCEngineInterface */ getAudioMixingPlaybackVolume(): Promise; /** * 设置混音发送音量, 仅供会议用户或直播主播用户使用 * * @param {number} volume 音量 0~100, 默认 100 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ adjustAudioMixingPublishVolume(volume: number): Promise; /** * 获取混音发送音量, 仅供会议用户或直播主播用户使用 * * @return 大于或等于0: 调用成功, 小于0: 调用失败 * @memberof RCRTCEngineInterface */ getAudioMixingPublishVolume(): Promise; /** * 设置混音文件合流进度, 仅供会议用户或直播主播用户使用 * * @param {number} position 进度 0~1 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setAudioMixingPosition(position: number): Promise; /** * 获取音频文件合流进度, 仅供会议用户或直播主播用户使用 * * @return 合流进度 0~1 * @memberof RCRTCEngineInterface */ getAudioMixingPosition(): Promise; /** * 获取音频文件时长, 单位:秒, 仅供会议用户或直播主播用户使用 * * @return 大于或等于0: 调用成功, 小于0: 调用失败 * @memberof RCRTCEngineInterface */ getAudioMixingDuration(): Promise; /** * 获取当前房间的 SessionId, 仅在加入房间成功后可获取 * 每次加入房间所得到的 SessionId 均不同 * * @return {*} {string} 获取到的 sessionId * @memberof RCRTCEngineInterface */ getSessionId(): Promise; /** * 创建基于文件的自定义流 * @param path 本地文件地址 @param tag 自定义流全局唯一标签 @param replace 是否替换音频流 @param playback 是否本地回放音频流 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ createCustomStreamFromFile(path: string, tag: string, replace: boolean, playback: boolean): Promise; /** * 设置自定义流的视频配置 * * @param tag * @param config * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setCustomStreamVideoConfig(tag: string, config: RCRTCVideoConfig): Promise; /** * 停止本地数据渲染 * * @param tag * @param mute * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ muteLocalCustomStream(tag: string, mute: boolean): Promise; /** * 设置本地自定义视频预览窗口 * * @param tag * @param view * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLocalCustomStreamView(tag: string, view: number): Promise; /** * 移除本地自定义视频预览窗口 * * @param tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeLocalCustomStreamView(tag: string): Promise; /** * 发布自定义视频 * * @param tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ publishCustomStream(tag: string): Promise; /** * 取消发布自定义视频 * * @param tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ unpublishCustomStream(tag: string): Promise; /** * 停止远端数据渲染 * * @param userId * @param tag * @param type * @param mute * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ muteRemoteCustomStream(userId: string, tag: string, type: number, mute: boolean): Promise; /** * 设置远端自定义视频预览窗口 * * @param userId * @param tag * @param view * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setRemoteCustomStreamView(userId: string, tag: string, view: number): Promise; /** * 移除远端自定义视频预览窗口 * * @param userId * @param tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ removeRemoteCustomStreamView(userId: string, tag: string): Promise; /** * 订阅自定义流 * * @param userId * @param type * @param tag * @param tiny * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ subscribeCustomStream(userId: string, tag: string, type: number, tiny: boolean): Promise; /** * 取消订阅自定义流 * * @param userId * @param type * @param tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ unsubscribeCustomStream(userId: string, tag: string, type: number): Promise; /** * 请求加入子房间(跨房间连麦) * * @param roomId 目标房间id * @param userId 目标主播id * @param autoLayout 是否自动布局 * * 开启自动布局 * 如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。 * 如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。 * 双方可以主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。 * * @param extra 附加信息,默认为空 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ requestJoinSubRoom(roomId: string, userId: string, autoLayout: boolean, extra: string): Promise; /** * 取消正在进行中的加入子房间(跨房间连麦)请求 * * @param roomId 正在请求的目标房间id * @param userId 正在请求的目标主播id * @param extra 附加信息,默认为空 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ cancelJoinSubRoomRequest(roomId: string, userId: string, extra: string): Promise; /** * 响应加入子房间(跨房间连麦)请求 * * @param roomId 发起请求的目标房间id * @param userId 发起请求的主播id * @param agree 是否同意(跨房间连麦) * @param autoLayout 是否自动布局 * * 开启自动布局 * 如果被邀请方在加入邀请方房间之前发布了资源,当被邀请方加入邀请者房间成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。 * 如果被邀请方在加入邀请方房间之前没有发布过资源,将会在被邀请方发布资源成功后,服务器会把被邀请方流资源合并到邀请方视图(默认仅悬浮布局合流)上。 * 双方可以主动设置合流布局。一旦主动设置过合流布局,后续音视频直播过程中设置的自动合流参数将失效。 * * @param extra 附加信息,默认为空 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ responseJoinSubRoomRequest(roomId: string, userId: string, agree: boolean, autoLayout: boolean, extra: string): Promise; /** * 加入子房间 * 前提必须已经 通过 joinRoom 加入了主房间 * 未建立连麦时,需先调用 requestJoinSubRoom 发起加入请求 * * @param roomId 目标房间id * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ joinSubRoom(roomId: string): Promise; /** * 离开子房间 * * @param roomId 子房间id * @param disband 是否解散,解散后再次加入需先调用 requestJoinSubRoom 发起加入请求 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ leaveSubRoom(roomId: string, disband: boolean): Promise; /** * 设置 CDN 合流视图 * * @param {number} tag 窗口的 tag * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setLiveMixInnerCdnStreamView(tag: number): Promise; /** * 设置水印 * * @param {number} imagePath 水印图片的 tag * @param {RCRTCIWPoint} position 水印的位置和尺寸参数,参数取值范围 0 ~ 1,SDK 内部会根据视频分辨率计算水印实际的像素位置和尺寸。 * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ setWatermark(imagePath: string, position: RCRTCIWPoint, zoom: number): Promise; /** * 开启网络探测 * * @return 0: 成功, 非0: 失败 * @memberof RCRTCEngineInterface */ startNetworkProbe(): Promise; /** * 本地用户操作错误回调 * * @param {CodeWithMessagelistener} [listener] 回调函数,不传值表示移除当前事件的所有监听 * * 回调参数 * @param code 错误码 * @param message 错误信息 * @memberof RCRTCEngineEventsInterface */ setOnErrorListener(listener?: (code: number, message: string) => void): void; /** * 本地用户被踢出房间回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param id 被踢出的房间id * @param message 返回的消息 * @memberof RCRTCEngineEventsInterface */ setOnKickedListener(listener?: (id: string, message: string) => void): void; /** * 本地用户加入房间回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnRoomJoinedListener(listener?: (code: number, message: string) => void): void; /** * 本地用户离开房间回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnRoomLeftListener(listener?: (code: number, message: string) => void): void; /** * 本地用户发布资源回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnPublishedListener(listener?: (type: RCRTCMediaType, code: number, message: string) => void): void; /** * 本地用户取消发布资源回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnUnpublishedListener(listener?: (type: RCRTCMediaType, code: number, message: string) => void): void; /** * 订阅远端用户发布的资源操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param id 远端用户 UserId * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnSubscribedListener(listener?: (userId: string, type: RCRTCMediaType, code: number, message: string) => void): void; /** * 取消订阅远端用户发布的资源, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param id 远端用户 UserId * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnUnsubscribedListener(listener?: (userId: string, type: RCRTCMediaType, code: number, message: string) => void): void; /** * 订阅合流资源操作回调, 仅供直播观众用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixSubscribedListener(listener?: (type: RCRTCMediaType, code: number, message: string) => void): void; /** * 取消订阅合流资源操作回调, 仅供直播观众用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixUnsubscribedListener(listener?: (type: RCRTCMediaType, code: number, message: string) => void): void; /** * 本地用户开关摄像头操作回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param enable true:打开摄像头 false:关闭摄像头 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnEnableCameraListener(listener?: (enable: boolean, code: number, message: string) => void): void; /** * 本地用户切换前后置摄像头操作回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param camera 操作摄像头的类型 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnSwitchCameraListener(listener?: (camera: RCRTCCamera, code: number, message: string) => void): void; /** * 添加旁路推流URL操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param url CDN URL * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveCdnAddedListener(listener?: (url: string, code: number, message: string) => void): void; /** * 移除旁路推流URL操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param url CDN URL * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveCdnRemovedListener(listener?: (url: string, code: number, message: string) => void): void; /** * 设置合流布局类型操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixLayoutModeSetListener(listener?: (code: number, message: string) => void): void; /** * 设置合流布局填充类型操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixRenderModeSetListener(listener?: (code: number, message: string) => void): void; /** * 设置合流布局背景颜色操作回调 * * 回调参数 * @param code 0: 调用成功, 非0: 失败 * @param message 失败原因 * @memberof RCRTCStatsEventsInterface */ setOnLiveMixBackgroundColorSetListener(listener?: (code: number, message: string) => void): void; /** * 设置合流自定义布局操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixCustomLayoutsSetListener(listener?: (code: number, message: string) => void): void; /** * 设置需要合流音频操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixCustomAudiosSetListener(listener?: (code: number, message: string) => void): void; /** * 设置合流音频码率操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixAudioBitrateSetListener(listener?: (code: number, message: string) => void): void; /** * 设置默认视频合流码率操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param tiny 是否小流 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixVideoBitrateSetListener(listener?: (tiny: boolean, code: number, message: string) => void): void; /** * 设置默认视频分辨率操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param tiny 是否小流 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixVideoResolutionSetListener(listener?: (tiny: boolean, code: number, message: string) => void): void; /** * 设置默认视频帧率操作回调, 仅供直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param tiny 是否小流 * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnLiveMixVideoFpsSetListener(listener?: (tiny: boolean, code: number, message: string) => void): void; /** * 创建音效操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param id 音效文件ID * @param code 返回码 * @param message 返回消息 * @memberof RCRTCEngineEventsInterface */ setOnAudioEffectCreatedListener(listener?: (id: string, code: number, message: string) => void): void; /** * 播放音效结束, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param id 音效文件ID * @memberof RCRTCEngineEventsInterface */ setOnAudioEffectFinishedListener(listener?: (id: string) => void): void; /** * 开始本地音频数据合流操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnAudioMixingStartedListener(listener?: () => void): void; /** * 暂停本地音频数据合流操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnAudioMixingPausedListener(listener?: () => void): void; /** * 停止本地音频文件数据合流操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnAudioMixingStoppedListener(listener?: () => void): void; /** * 结束本地音频文件数据合流操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnAudioMixingFinishedListener(listener?: () => void): void; /** * 远端用户加入房间操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @memberof RCRTCEngineEventsInterface */ setOnUserJoinedListener(listener?: (roomId: string, userId: string) => void): void; /** * 远端用户因离线离开房间操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @memberof RCRTCEngineEventsInterface */ setOnUserOfflineListener(listener?: (roomId: string, userId: string) => void): void; /** * 远端用户离开房间操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @memberof RCRTCEngineEventsInterface */ setOnUserLeftListener(listener?: (roomId: string, userId: string) => void): void; /** * 远端用户发布资源操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemotePublishedListener(listener?: (roomId: string, userId: string, type: RCRTCMediaType) => void): void; /** * 远端用户取消发布资源操作回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemoteUnpublishedListener(listener?: (roomId: string, userId: string, type: RCRTCMediaType) => void): void; /** * 远端用户发布直播资源操作回调, 仅供直播观众用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemoteLiveMixPublishedListener(listener?: (type: RCRTCMediaType) => void): void; /** * 远端用户取消发布直播资源操作回调, 仅供直播观众用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemoteLiveMixUnpublishedListener(listener?: (type: RCRTCMediaType) => void): void; /** * 远端用户开关麦克风或摄像头操作回调 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @param type 媒体类型 * @param disabled 是否关闭, YES: 关闭, NO: 打开 * @memberof RCRTCEngineEventsInterface */ setOnRemoteStateChangedListener(listener?: (roomId: string, userId: string, type: RCRTCMediaType, disabled: boolean) => void): void; /** * 收到远端用户第一个音频或视频关键帧回调, 仅供会议用户或直播主播用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param roomId 远端房间Id * @param userId 远端用户UserId * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemoteFirstFrameListener(listener?: (roomId: string, userId: string, type: RCRTCMediaType) => void): void; /** * 收到远端用户第一个音频或视频关键帧回调, 仅供直播观众用户使用 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * * 回调参数 * @param type 媒体类型 * @memberof RCRTCEngineEventsInterface */ setOnRemoteLiveMixFirstFrameListener(listener?: (type: RCRTCMediaType) => void): void; /** * 本地用户发布本地自定义流操作回调 * * 回调参数 * @param tag 自定义流标签 * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnCustomStreamPublishedListener(listener?: (tag: string, code: number, message: string) => void): void; /** * 本地自定义流发布结束回调 * * 回调参数 * @param tag 自定义流标签 * @memberof RCRTCStatsEventsInterface */ setOnCustomStreamPublishFinishedListener(listener?: (tag: string) => void): void; /** * 本地用户取消发布本地自定义流操作回调 * * 回调参数 * @param tag 自定义流标签 * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnCustomStreamUnpublishedListener(listener?: (tag: string, code: number, message: string) => void): void; /** * 远端用户发布自定义流操作回调, 仅供会议用户或直播主播用户使用 * * 回调参数 * @param roomId 房间id * @param userId 用户id * @param type 音视频类型 * @param tag 自定义流标签 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomStreamPublishedListener(listener?: (roomId: string, userId: string, tag: string, type: RCRTCMediaType) => void): void; /** * 远端用户取消发布自定义流操作回调, 仅供会议用户或直播主播用户使用 * * 回调参数 * @param roomId 房间id * @param userId 用户id * @param type 音视频类型 * @param tag 自定义流标签 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomStreamUnpublishedListener(listener?: (roomId: string, userId: string, tag: string, type: RCRTCMediaType) => void): void; /** * 远端用户开关自定义流操作回调 * * 回调参数 * @param roomId 房间id * @param userId 用户id * @param tag 自定义流标签 * @param type 音视频类型 * @param disabled 是否禁用 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomStreamStateChangedListener(listener?: (roomId: string, userId: string, tag: string, type: RCRTCMediaType, disabled: boolean) => void): void; /** * 收到远端用户自定义流第一个关键帧回调, 仅供会议用户或直播主播用户使用 * * 回调参数 * @param roomId 房间id * @param userId 用户id * @param type 音视频类型 * @param tag 自定义流标签 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomStreamFirstFrameListener(listener?: (roomId: string, userId: string, tag: string, type: RCRTCMediaType) => void): void; /** * 订阅远端用户发布的自定义流操作回调, 仅供会议用户或直播主播用户使用 * * 回调参数 * @param userId 用户id * @param tag 自定义流标签 * @param code 错误码 * @param type 音视频类型 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnCustomStreamSubscribedListener(listener?: (userId: string, tag: string, type: RCRTCMediaType, code: number, message: string) => void): void; /** * 取消订阅远端用户发布的自定义流操作回调, 仅供会议用户或直播主播用户使用 * * 回调参数 * @param userId 用户id * @param tag 自定义流标签 * @param code 错误码 * @param type 音视频类型 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnCustomStreamUnsubscribedListener(listener?: (userId: string, tag: string, type: RCRTCMediaType, code: number, message: string) => void): void; /** * 请求加入子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 目标房间id * @param userId 目标主播id * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnJoinSubRoomRequestedListener(listener?: (roomId: string, userId: string, code: number, message: string) => void): void; /** * 响应请求加入子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 目标房间id * @param userId 目标主播id * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnJoinSubRoomRequestCanceledListener(listener?: (roomId: string, userId: string, code: number, message: string) => void): void; /** * 响应请求加入子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 目标房间id * @param userId 目标主播id * @param agree 是否同意 * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnJoinSubRoomRequestRespondedListener(listener?: (roomId: string, userId: string, agree: boolean, code: number, message: string) => void): void; /** * 收到加入请求回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 请求来源房间id * @param userId 请求来源主播id * @param extra 扩展信息 * @memberof RCRTCStatsEventsInterface */ setOnJoinSubRoomRequestReceivedListener(listener?: (roomId: string, userId: string, extra: string) => void): void; /** * 收到取消加入请求回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId * @param userId * @param extra * @memberof RCRTCStatsEventsInterface */ setOnCancelJoinSubRoomRequestReceivedListener(listener?: (roomId: string, userId: string, extra: string) => void): void; /** * 收到加入请求响应回调 仅供直播主播用户使用 * * 回调参数 * @param roomId 响应来源房间id * @param userId 响应来源主播id * @param agree 是否同意 * @param extra 扩展信息 * @memberof RCRTCStatsEventsInterface */ setOnJoinSubRoomRequestResponseReceivedListener(listener?: (roomId: string, userId: string, agree: boolean, extra: string) => void): void; /** * 加入子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 子房间id * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnSubRoomJoinedListener(listener?: (roomId: string, code: number, message: string) => void): void; /** * 离开子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 子房间id * @param code 错误码 * @param message 错误信息 * @memberof RCRTCStatsEventsInterface */ setOnSubRoomLeftListener(listener?: (roomId: string, code: number, message: string) => void): void; /** * 连麦中的子房间回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 子房间id * @memberof RCRTCStatsEventsInterface */ setOnSubRoomBandedListener(listener?: (roomId: string) => void): void; /** * 子房间结束连麦回调, 仅供直播主播用户使用 * * 回调参数 * @param roomId 子房间id * @param userId 结束连麦的用户id * @memberof RCRTCStatsEventsInterface */ setOnSubRoomDisbandListener(listener?: (roomId: string, userId: string) => void): void; /** * 切换直播角色回调 * * 回调参数 * @param current 当前角色 * @param code 错误码 * @param message 错误消息 * @memberof RCRTCStatsEventsInterface */ setOnLiveRoleSwitchedListener(listener?: (current: RCRTCRole, code: number, message: string) => void): void; /** * 上报网络状态统计信息 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnNetworkStatsListener(listener?: (stats: RCRTCNetworkStats) => void): void; /** * 上报本地音频统计信息 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnLocalAudioStatsListener(listener?: (stats: RCRTCLocalAudioStats) => void): void; /** * 上报本地视频统计信息 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnLocalVideoStatsListener(listener?: (stats: RCRTCLocalVideoStats) => void): void; /** * 上报远端音频统计信息 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnRemoteAudioStatsListener(listener?: (roomId: string, userId: string, stats: RCRTCRemoteAudioStats) => void): void; /** * 上报远端视频统计信息 * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCEngineEventsInterface */ setOnRemoteVideoStatsListener(listener?: (roomId: string, userId: string, stats: RCRTCRemoteVideoStats) => void): void; /** * 上报远端合流音频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLiveMixAudioStatsListener(listener?: (stats: RCRTCRemoteAudioStats) => void): void; /** * 上报远端合流视频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLiveMixVideoStatsListener(listener?: (stats: RCRTCRemoteVideoStats) => void): void; /** * 上报远端分流音频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLiveMixMemberAudioStatsListener(listener?: (userId: string, volume: number) => void): void; /** * 上报远端分流自定义音频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLiveMixMemberCustomAudioStatsListener(listener?: (userId: string, tag: string, volume: number) => void): void; /** * 上报本地自定义音频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLocalCustomAudioStatsListener(listener?: (tag: string, stats: RCRTCLocalAudioStats) => void): void; /** * 上报本地自定义视频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnLocalCustomVideoStatsListener(listener?: (tag: string, stats: RCRTCLocalVideoStats) => void): void; /** * 上报远端自定义音频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomAudioStatsListener(listener?: (roomId: string, userId: string, tag: string, stats: RCRTCRemoteAudioStats) => void): void; /** * 上报远端自定义视频统计信息 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnRemoteCustomVideoStatsListener(listener?: (roomId: string, userId: string, tag: string, stats: RCRTCRemoteVideoStats) => void): void; /** * 汇报网络探测上行数据 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnNetworkProbeUpLinkStatsListener(listener?: (stats: RCRTCIWNetworkProbeStats) => void): void; /** * 汇报网络探测下行数据 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnNetworkProbeDownLinkStatsListener(listener?: (stats: RCRTCIWNetworkProbeStats) => void): void; /** * 网络探测完成 * * @param listener 回调函数,不传值表示移除当前事件的所有监听。 * @memberof RCRTCStatsEventsInterface */ setOnNetworkProbeFinishedListener(listener?: (code: number, errMsg: string) => void): void; /** *停止所有远端音频数据渲染 *@param mute true: 不渲染 false: 渲染 *@return 0: 成功, 非0: 失败 */ muteAllRemoteAudioStreams(mute: boolean): Promise; /** *切换直播角色 *@return 0: 成功, 非0: 失败 */ switchLiveRole(role: RCRTCRole): Promise; /** *开启直播内置 cdn 功能 *@param enable *@return 0: 成功, 非0: 失败 */ enableLiveMixInnerCdnStream(enable: boolean): Promise; /** *订阅直播内置 cdn 流 *@return 0: 成功, 非0: 失败 */ subscribeLiveMixInnerCdnStream(): Promise; /** *取消订阅直播内置 cdn 流 *@return 0: 成功, 非0: 失败 */ unsubscribeLiveMixInnerCdnStream(): Promise; /** *移除直播内置 cdn 流预览窗口 *@return 0: 成功, 非0: 失败 */ removeLiveMixInnerCdnStreamView(): Promise; /** *观众端 设置订阅 cdn 流的分辨率 *@param width 分辨率宽 *@param height 高 *@return 接口调用状态码 0: 成功, 非0: 失败 */ setLocalLiveMixInnerCdnVideoResolution(width: number, height: number): Promise; /** *观众端设置订阅 cdn 流的帧率 *@param fps 帧率 *@return 接口调用状态码 0: 成功, 非0: 失败 */ setLocalLiveMixInnerCdnVideoFps(fps: RCRTCVideoFps): Promise; /** *观众端禁用或启用融云内置 CDN 流 *@param mute true: 停止资源渲染,false: 恢复资源渲染 *@return 接口调用状态码 0: 成功, 非0: 失败 */ muteLiveMixInnerCdnStream(mute: boolean): Promise; /** *移除水印 *@return 接口调用状态码 0: 成功, 非0: 失败 */ removeWatermark(): Promise; /** *停止网络探测 *@return 接口调用状态码 0: 成功, 非0: 失败 */ stopNetworkProbe(): Promise; /** *开始麦克风&扬声器检测 *@param timeInterval 麦克风录制时间 *@return 接口调用状态码 0: 成功, 非0: 失败 */ startEchoTest(timeInterval: number): Promise; /** *停止麦克风&扬声器检测,结束检测后必须手动调用停止方法 *@return 接口调用状态码 0: 成功, 非0: 失败 */ stopEchoTest(): Promise; /** *开启 SEI 功能,观众身份调用无效 *@param enable 是否开启 *@return 接口调用状态码 0: 成功, 非0: 失败 */ enableSei(enable: boolean): Promise; /** *发送 SEI 信息,需开启 SEI 功能之后调用 *@param sei SEI 信息 *@return 接口调用状态码 0: 成功, 非0: 失败 */ sendSei(sei: string): Promise; /** *预链接到媒体服务器 *@return 接口调用状态码 0: 成功, 非0: 失败 */ preconnectToMediaServer(): Promise; /** *远端用户身份切换回调 *@param roomId 房间号 *@param userId 用户id *@param role 用户角色 *@deprecated 已废弃 */ setOnRemoteLiveRoleSwitchedListener(listener?: (roomId: string, userId: string, role: RCRTCRole) => void): void; /** *开启直播内置 cdn 结果回调 *@param enable 是否开启 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnLiveMixInnerCdnStreamEnabledListener(listener?: (enable: boolean, code: number, errMsg: string) => void): void; /** *直播内置 cdn 资源发布回调 *@deprecated 已废弃 */ setOnRemoteLiveMixInnerCdnStreamPublishedListener(listener?: () => void): void; /** *直播内置 cdn 资源取消发布回调 *@deprecated 已废弃 */ setOnRemoteLiveMixInnerCdnStreamUnpublishedListener(listener?: () => void): void; /** *订阅直播内置 cdn 资源回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnLiveMixInnerCdnStreamSubscribedListener(listener?: (code: number, errMsg: string) => void): void; /** *取消订阅直播内置 cdn 资源回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnLiveMixInnerCdnStreamUnsubscribedListener(listener?: (code: number, errMsg: string) => void): void; /** *观众端设置订阅 cdn 流的分辨率的回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnLocalLiveMixInnerCdnVideoResolutionSetListener(listener?: (code: number, errMsg: string) => void): void; /** *观众端 设置订阅 cdn 流的帧率的回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnLocalLiveMixInnerCdnVideoFpsSetListener(listener?: (code: number, errMsg: string) => void): void; /** *设置水印的回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnWatermarkSetListener(listener?: (code: number, errMsg: string) => void): void; /** *移除水印的回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnWatermarkRemovedListener(listener?: (code: number, errMsg: string) => void): void; /** *开启网络探测结果回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnNetworkProbeStartedListener(listener?: (code: number, errMsg: string) => void): void; /** *关闭网络探测结果回调 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnNetworkProbeStoppedListener(listener?: (code: number, errMsg: string) => void): void; /** *开启 SEI 功能结果回调 *@param enable 是否开启 *@param code 错误码 *@param errMsg 错误消息 *@deprecated 已废弃 */ setOnSeiEnabledListener(listener?: (enable: boolean, code: number, errMsg: string) => void): void; /** *收到 SEI 信息回调 *@param roomId 房间 id *@param userId 远端用户 id *@param sei SEI 信息 *@deprecated 已废弃 */ setOnSeiReceivedListener(listener?: (roomId: string, userId: string, sei: string) => void): void; /** *观众收到合流 SEI 信息回调 *@param sei SEI 信息 *@deprecated 已废弃 */ setOnLiveMixSeiReceivedListener(listener?: (sei: string) => void): void; } export { RCRTCEngine }; //# sourceMappingURL=RCRTCEngine.d.ts.map