CALLBACK

类型: interface

名称 描述
onLocalScreenFrame() 本地屏幕视频流采集成功后,会收到此回调。
onLocalVideoFrame() 本地视频流数据回调
onRemoteScreenFrame() 远端屏幕共享流数据回调
onRemoteVideoFrame() 远端视频数据回调
onWarning() 当内部发生警告事件时触发该回调
onError() 当内部发生不可逆转错误时触发该回调
onAudioMixingFinished() 本地音乐文件播放已结束回调。当调用 startAudioMixing 启动的混音文件播放结束后,会触发该回调。
onAudioMixingStateChanged() 音频混音文件播放状态改变时回调
onAudioMixingPlayingProgress() 混音音频文件播放进度回调
onConnectionStateChanged() SDK 与信令服务器连接状态改变回调。连接状态改变时触发。
onNetworkTypeChanged() SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
onPerformanceAlarms() 本地未开启发布性能回退,检测到设备性能不足时,收到此回调。本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
onSysStats() 周期性地发出回调,报告当前cpu与memory使用率
onUserStartAudioCapture() 房间内的用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
onUserStopAudioCapture() 房间内的用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
onFirstLocalAudioFrame() 本地采集到第一帧音频帧时,收到该回调
onFirstRemoteAudioFrame() 接收到来自远端某音频流的第一帧时,收到该回调。
onSimulcastSubscribeFallback() 因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
onFirstLocalVideoFrameCaptured() 第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。
onLocalVideoSizeChanged() 本地视频大小或旋转配置发生改变时,收到此回调。
onRemoteVideoSizeChanged() 远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。
onFirstRemoteVideoFrameRendered() 第一帧远端视频流在视图上渲染成功后,收到此回调。
onFirstRemoteVideoFrameDecoded() SDK 接收并解码远端视频流首帧后,收到此回调。
onUserStartVideoCapture() 房间内的用户调用 startVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
onUserStopVideoCapture() 房间内的用户调用 stopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。
onLocalAudioStateChanged() 本地音频的状态发生改变时,该回调通知当前的本地音频状态。
onRemoteAudioStateChanged() 用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
onActiveSpeaker() 调用 enableAudioPropertiesReport 后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
onLocalVideoStateChanged() 本地视频流的状态发生改变时,收到该事件。
onRemoteVideoStateChanged() 远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
onAudioFrameSendStateChanged() 音频首帧发送状态改变回调
onVideoFrameSendStateChanged() 视频首帧发送状态改变回调
onScreenVideoFrameSendStateChanged() 屏幕共享流视频首帧发送状态改变回调
onAudioFramePlayStateChanged() 音频首帧播放状态改变回调
onVideoFramePlayStateChanged() 视频首帧播放状态改变回调
onScreenVideoFramePlayStateChanged() 屏幕共享流视频首帧播放状态改变回调
onUserMessageSendResult() 当调用 sendMessageToUser 函数发送消息后,回调此条消息的发送结果(反馈)。
onUserBinaryMessageReceived() 单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。

| onStreamSubscribed() | 当订阅一个流成功的时候回调该事件
当更新流的内容时比如增加或者减少音视频流成功更新时也会回调该事件 |

| onSEIMessageReceived() | 收到通过 sendSEIMessage 发送的带有 SEI 消息的视频帧时,收到此回调 | | onStreamMixingEvent() | 通知转推直播关键事件 | | onRecordingStateUpdate() | 获取本地录制状态回调。 该回调由 startFileRecording 或 stopFileRecording 触发。 | | onRecordingProgressUpdate() | 本地录制进度回调。 该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。 | | onLoginResult() | 调用 login 后,会收到此回调。 | | onLogout() | 登出结果回调 | | onServerParamsSetResult() | 设置业务服务器参数的返回结果 | | onGetPeerOnlineStatus() | 查询对端或本端用户登录状态的返回结果 | | onUserMessageReceivedOutsideRoom() | 收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调 | | onUserBinaryMessageReceivedOutsideRoom() | 收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调 | | onUserMessageSendResultOutsideRoom() | 给房间外指定的用户发送消息的回调 | | onServerMessageSendResult() | 给业务服务器发送消息的回调 | | onRecordAudioFrame() | 返回麦克风录制的音频数据 | | onPlaybackAudioFrame() | 返回远端所有用户混音后的音频数据 | | onMixedAudioFrame() | 返回本地麦克风录制和远端所有用户混音后的音频数据 | | onASRSuccess() | 语音识别服务开启成功回调 | | onMessage() | 语音转文字成功回调,该回调返回识别后的全量消息。 | | onASRError() | 当语音识别服务内部发生错误事件时触发该回调。 | | onNetworkDetectionResult() | 成功调用 startNetworkDetection 接口开始探测后,会在 3s 内首次收到该回调,之后每 2s 收到一次该回调。 | | onNetworkDetectionStopped() | 通话前网络探测结束 |

| onLocalAudioPropertiesReport() | 调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。 | | onRemoteAudioPropertiesReport() | 远端用户进房后,本地调用 enableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 采集的麦克风音频和屏幕音频。 |

| onEchoTestResult() | 通话前网络探测结束 | | onVideoDeviceStateChanged() | 视频频设备状态回调。提示摄像头视频采集、屏幕视频采集等设备的状态。 | | onAudioDeviceStateChanged() | 音频设备状态回调。提示音频采集、音频播放等设备设备的状态。 | | onAudioPlaybackDeviceTestVolume() | 回调音频设备测试时的播放音量 |

onLocalScreenFrame()

本地屏幕视频流采集成功后,会收到此回调。

ts (frame: IVideoFrame) => void

对于回调的视频数据,你可以进行自定义渲染。

onLocalVideoFrame()

本地视频流数据回调

ts (frame: IVideoFrame) => void

onRemoteScreenFrame()

远端屏幕共享流数据回调

ts (frame: IVideoFrame) => void

onRemoteVideoFrame()

远端视频数据回调

ts (frame: IVideoFrame) => void

onWarning()

当内部发生警告事件时触发该回调

ts (warn: WarningCode) => void

onError()

当内部发生不可逆转错误时触发该回调

ts (error: ErrorCode) => void

onAudioMixingFinished()

本地音乐文件播放已结束回调。当调用 startAudioMixing 启动的混音文件播放结束后,会触发该回调。

ts () => void

onAudioMixingStateChanged()

音频混音文件播放状态改变时回调

ts (id: number, state: AudioMixingState, error: AudioMixingError) => void

onAudioMixingPlayingProgress()

混音音频文件播放进度回调

ts (mix_id: number, progress: number) => void

调用 setAudioMixingProgressInterval 将时间间隔设为大于 0 的值后,或调用 startAudioMixing 将 AudioMixingConfig 中的时间间隔设为大于 0 的值后,SDK 会按照设置的时间间隔回调该事件。

onConnectionStateChanged()

SDK 与信令服务器连接状态改变回调。连接状态改变时触发。

ts (state: ConnectionState) => void

onNetworkTypeChanged()

SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。

ts (type: NetworkType) => void

onPerformanceAlarms()

本地未开启发布性能回退,检测到设备性能不足时,收到此回调。本地开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。

ts (mode: PerformanceAlarmMode, room_id: string, reason: PerformanceAlarmReason, sourceWantedDataObject: Object) => void

onSysStats()

周期性地发出回调,报告当前cpu与memory使用率

ts (stats: SysStats) => void

onUserStartAudioCapture()

房间内的用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。

ts (room_id: string, user_id: string) => void

onUserStopAudioCapture()

房间内的用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。

ts (room_id: string, user_id: string) => void

onFirstLocalAudioFrame()

本地采集到第一帧音频帧时,收到该回调

ts (index: StreamIndex) => void

onFirstRemoteAudioFrame()

接收到来自远端某音频流的第一帧时,收到该回调。

ts (key: RemoteStreamKey) => void

用户刚收到房间内每一路音频流时,都会收到该回调。

onSimulcastSubscribeFallback()

因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。

ts (stream: RemoteStreamSwitch) => void

你必须先通过 API 或控制台设置音视频流订阅回退功能时,你才能收到此回调。

onFirstLocalVideoFrameCaptured()

第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。

ts (index: StreamIndex, info: VideoFrameInfo) => void

onLocalVideoSizeChanged()

本地视频大小或旋转配置发生改变时,收到此回调。

ts (index: StreamIndex, info: VideoFrameInfo) => void

onRemoteVideoSizeChanged()

远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。

ts (key: RemoteStreamKey, stream: VideoFrameInfo) => void

onFirstRemoteVideoFrameRendered()

第一帧远端视频流在视图上渲染成功后,收到此回调。

ts (key: RemoteStreamKey, stream: VideoFrameInfo) => void

onFirstRemoteVideoFrameDecoded()

SDK 接收并解码远端视频流首帧后,收到此回调。

ts (key: RemoteStreamKey, stream: VideoFrameInfo) => void

onUserStartVideoCapture()

房间内的用户调用 startVideoCapture 开启视频采集时,房间内其他用户会收到此回调。

ts (room_id: string, user_id: string) => void

onUserStopVideoCapture()

房间内的用户调用 stopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。

ts (room_id: string, user_id: string) => void

onLocalAudioStateChanged()

本地音频的状态发生改变时,该回调通知当前的本地音频状态。

ts (state: LocalAudioStreamState, error: LocalAudioStreamError) => void

onRemoteAudioStateChanged()

用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。

ts (key: RemoteStreamKey, state: RemoteAudioState, reason: RemoteAudioStateChangeReason) => void

onActiveSpeaker()

调用 enableAudioPropertiesReport 后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。

ts (room_id: string, uid: string) => void

onLocalVideoStateChanged()

本地视频流的状态发生改变时,收到该事件。

ts (index: StreamIndex, state: LocalVideoStreamState, error: LocalVideoStreamError) => void

onRemoteVideoStateChanged()

远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。

ts (key: RemoteStreamKey, state: RemoteVideoState, reason: RemoteVideoStateChangeReason) => void

onAudioFrameSendStateChanged()

音频首帧发送状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFrameSendState) => void

onVideoFrameSendStateChanged()

视频首帧发送状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFrameSendState) => void

onScreenVideoFrameSendStateChanged()

屏幕共享流视频首帧发送状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFrameSendState) => void

onAudioFramePlayStateChanged()

音频首帧播放状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFramePlayState) => void

onVideoFramePlayStateChanged()

视频首帧播放状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFramePlayState) => void

onScreenVideoFramePlayStateChanged()

屏幕共享流视频首帧播放状态改变回调

ts (room_id: string, user: RtcUser, state: FirstFramePlayState) => void

onUserMessageSendResult()

当调用 sendMessageToUser 函数发送消息后,回调此条消息的发送结果(反馈)。

ts (msgId: number, error: MessageSendResultCode) => void

onUserBinaryMessageReceived()

单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。

ts (uid: string, message: string) => void

同一房间内其他用户调用 sendUserBinaryMessage 发送二进制消息给本地用户时,本地用户会收到该回调。

onStreamSubscribed()

当订阅一个流成功的时候回调该事件
当更新流的内容时比如增加或者减少音视频流成功更新时也会回调该事件

ts (stateCode: SubscribeState, userId: string, info: SubscribeConfig) => void

onSEIMessageReceived()

收到通过 sendSEIMessage 发送的带有 SEI 消息的视频帧时,收到此回调

ts (stream_key: RemoteStreamKey, message: string) => void

onStreamMixingEvent()

通知转推直播关键事件

ts (event: StreamMixingEvent, task_id: string, error: number, mix_type: StreamMixingType) => void

onRecordingStateUpdate()

获取本地录制状态回调。 该回调由 startFileRecording 或 stopFileRecording 触发。

ts (type: StreamIndex, state: number, error_code: number, info: RecordingInfo) => void

onRecordingProgressUpdate()

本地录制进度回调。 该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。

ts (type: StreamIndex, process: RecordingProgress, info: RecordingInfo) => void

onLoginResult()

调用 login 后,会收到此回调。

ts (uid: string, error_code: number, elapsed: number) => void

onLogout()

登出结果回调

ts () => void

调用 logout 后,会收到此回调。

onServerParamsSetResult()

设置业务服务器参数的返回结果

ts (error: number) => void

调用 setServerParams 后,会收到此回调。

onGetPeerOnlineStatus()

查询对端或本端用户登录状态的返回结果

ts (peer_user_id: string, status: number) => void

必须先调用 getPeeronlineStatus,才能收到此回调。

onUserMessageReceivedOutsideRoom()

收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调

ts (uid: string, message: string) => void

onUserBinaryMessageReceivedOutsideRoom()

收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调

ts (uid: string, message: string) => void

onUserMessageSendResultOutsideRoom()

给房间外指定的用户发送消息的回调

ts (msgid: number, error: number) => void

当调用 sendUserMessageOutsideRoom 或 sendUserBinaryMessageOutsideRoom 发送消息后,会收到此回调。

onServerMessageSendResult()

给业务服务器发送消息的回调

ts (msgid: number, error: number, message: string) => void

当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。

onRecordAudioFrame()

返回麦克风录制的音频数据

ts (audio_frame: IAudioFrame) => void

onPlaybackAudioFrame()

返回远端所有用户混音后的音频数据

ts (audio_frame: IAudioFrame) => void

onMixedAudioFrame()

返回本地麦克风录制和远端所有用户混音后的音频数据

ts (audio_frame: IAudioFrame) => void

onASRSuccess()

语音识别服务开启成功回调

ts () => void

onMessage()

语音转文字成功回调,该回调返回识别后的全量消息。

ts (message: string) => void

若识别过程中发生了网络连接中断,则重连后回调的信息中只包含重连后识别的文字消息,不再包含上一次连接后识别的消息。

onASRError()

当语音识别服务内部发生错误事件时触发该回调。

ts (error_code: number, error_message: string) => void

onNetworkDetectionResult()

成功调用 startNetworkDetection 接口开始探测后,会在 3s 内首次收到该回调,之后每 2s 收到一次该回调。

ts (type: number, quality: number, rtt: number, lost_rate: number, bitrate: number, jitter: number) => void

当调用 sendServerMessage 或 sendServerBinaryMessage 接口发送消息后,会收到此回调。

onNetworkDetectionStopped()

通话前网络探测结束

ts (reason: number) => void

以下情况将停止探测并收到本一次本回调:

onLocalAudioPropertiesReport()

调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。

ts (audioPropertiesInfo: LocalAudioPropertiesInfo, audio_properties_info_number: number) => void

onRemoteAudioPropertiesReport()

远端用户进房后,本地调用 enableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 采集的麦克风音频和屏幕音频。

ts (total_remote_volume: number, audio_properties_info_number: number, audioPropertiesInfo: RemoteAudioPropertiesInfo) => void

onEchoTestResult()

通话前网络探测结束

ts (result: number) => void

该回调触发的时机包括:

onVideoDeviceStateChanged()

视频频设备状态回调。提示摄像头视频采集、屏幕视频采集等设备的状态。

ts (device_id: string, device_type: number, device_state: number, device_error: number) => void

onAudioDeviceStateChanged()

音频设备状态回调。提示音频采集、音频播放等设备设备的状态。

ts (device_id: string, device_type: number, device_state: number, device_error: number) => void

onAudioPlaybackDeviceTestVolume()

回调音频设备测试时的播放音量

ts (volume: number) => void

调用 startAudioPlaybackDeviceTest,开始播放音频文件或录音时,将开启该回调。本回调为周期性回调,回调周期由上述接口的 interval 参数指定。

RTCROOMCALLBACK

类型: interface

名称 描述
onRoomStateChanged() 房间状态改变回调,加入房间、离开房间、发生房间相关的警告或错误时会收到此回调。
onStreamStateChanged() 流状态改变回调,发生流相关的警告或错误时会收到此回调。
onLeaveRoom() 离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
onUserJoined() 可见用户加入房间,或房内隐身用户切换为可见的回调。
1.远端可见用户调用 setUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内隐身远端用户调用 setUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的主播角色用户的进房回调通知。
onUserLeave() 远端用户离开房间,或切至不可见时,本地用户会收到此事件
onTokenWillExpire() Token 过期前 30 秒将触发该回调。
onAVSyncStateChange() 发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。
onRoomStats() 房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
onLocalStreamStats() 反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调。
本地用户发布音视频流成功后,每隔 2s 收到此回调。
onRemoteStreamStats() 反映通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况的回调。每隔 2s 收到此回调。
onUserPublishStream() 房间内新增远端麦克风采集的音频流的回调。
onUserUnpublishStream() 房间内远端麦克风采集的音频流移除的回调。
onUserPublishScreen() 房间内新增远端屏幕共享音视频流的回调。
onUserUnpublishScreen() 房间内远端屏幕共享音视频流移除的回调。
onStreamSubscribed() 关于订阅媒体流状态改变的回调
onVideoStreamBanned() 通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
onAudioStreamBanned() 通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。
onRoomMessageReceived() 接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。
onRoomBinaryMessageReceived() 接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
onUserMessageReceived() 收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
onUserBinaryMessageReceived() 收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
onUserMessageSendResult() 向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
onRoomMessageSendResult() 调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
onForwardStreamStateChanged() 跨房间媒体流转发状态和错误回调
onForwardStreamEvent() 跨房间媒体流转发事件回调
onRangeAudioInfo() 关于当前范围语音衰减系数的回调。
手动订阅的场景下,房间内任一用户调用 updateRangePosition 更新自身位置或调用 updateReceiveRange 更新语音接收范围时,该用户与房间内其他用户的相对距离都会发生改变,据此计算的衰减系数也会发生改变,并通过该回调通知用户。
你可以通过关注该回调中包含的远端用户的衰减系数决定是否订阅该远端用户的流。
onNetworkQuality() 加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息

onRoomStateChanged()

房间状态改变回调,加入房间、离开房间、发生房间相关的警告或错误时会收到此回调。

ts (roomId: string, userId: string, state: number, extraInfo: string) => void

onStreamStateChanged()

流状态改变回调,发生流相关的警告或错误时会收到此回调。

ts (roomId: string, userId: string, state: number, extraInfo: string) => void

onLeaveRoom()

离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。

ts (stats: RtcRoomStats) => void

onUserJoined()

可见用户加入房间,或房内隐身用户切换为可见的回调。
1.远端可见用户调用 setUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内隐身远端用户调用 setUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的主播角色用户的进房回调通知。

ts (userId: string, elapsed: number) => void

onUserLeave()

远端用户离开房间,或切至不可见时,本地用户会收到此事件

ts (userId: string, reason: UserOfflineReasonType) => void

onTokenWillExpire()

Token 过期前 30 秒将触发该回调。

ts () => void

调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。

onAVSyncStateChange()

发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。

ts (state: AVSyncState) => void

onRoomStats()

房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。

ts (stats: RtcRoomStats) => void

onLocalStreamStats()

反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调。
本地用户发布音视频流成功后,每隔 2s 收到此回调。

ts (stats: LocalStreamStats) => void

onRemoteStreamStats()

反映通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况的回调。每隔 2s 收到此回调。

ts (stats: RemoteStreamStats) => void

onUserPublishStream()

房间内新增远端麦克风采集的音频流的回调。

ts (userId: string, type: MediaStreamType) => void

当房间内的远端用户调用 publishStream 成功发布由麦克风采集的音频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。

onUserUnpublishStream()

房间内远端麦克风采集的音频流移除的回调。

ts (userId: string, type: MediaStreamType, reason: StreamRemoveReason) => void

收到该回调通知后,你可以自行选择是否调用 unsubscribeStream 取消订阅此流。

onUserPublishScreen()

房间内新增远端屏幕共享音视频流的回调。

ts (userId: string, type: MediaStreamType) => void

当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。

onUserUnpublishScreen()

房间内远端屏幕共享音视频流移除的回调。

ts (userId: string, type: MediaStreamType, reason: StreamRemoveReason) => void

收到该回调通知后,你可以自行选择是否调用 unsubscribeScreen 取消订阅此流。

onStreamSubscribed()

关于订阅媒体流状态改变的回调

ts (stateCode: SubscribeState, userId: string, config: SubscribeConfig) => void

本地用户收到该回调的时机包括:

onVideoStreamBanned()

通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。

ts (userId: string, banned: boolean) => void

onAudioStreamBanned()

通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。

ts (userId: string, banned: boolean) => void

onRoomMessageReceived()

接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。

ts (userId: string, message: string) => void

onRoomBinaryMessageReceived()

接收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。

ts (userId: string, message: string) => void

onUserMessageReceived()

收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。

ts (userId: string, message: string) => void

onUserBinaryMessageReceived()

收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。

ts (userId: string, message: string) => void

onUserMessageSendResult()

向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。

ts (msgId: number, error: number) => void

调用 sendUserMessage 或 sendUserBinaryMessage 接口,才能收到此回调。

onRoomMessageSendResult()

调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。

ts (msgId: number, error: number) => void

onForwardStreamStateChanged()

跨房间媒体流转发状态和错误回调

ts (infos: ForwardStreamStateInfo[], infoCount: number) => void

onForwardStreamEvent()

跨房间媒体流转发事件回调

ts (infos: ForwardStreamEventInfo[], infoCount: number) => void

onRangeAudioInfo()

关于当前范围语音衰减系数的回调。
手动订阅的场景下,房间内任一用户调用 updateRangePosition 更新自身位置或调用 updateReceiveRange 更新语音接收范围时,该用户与房间内其他用户的相对距离都会发生改变,据此计算的衰减系数也会发生改变,并通过该回调通知用户。
你可以通过关注该回调中包含的远端用户的衰减系数决定是否订阅该远端用户的流。

ts (rangeAudioInfo: RangeAudioInfo, len: number) => void

更新自身位置或语音接收范围后,并不会马上触发该回调。SDK 会每 500 ms 计算一次衰减系数,并且只在计算结果与上次不同,或结果相同但是距离上次计算已超过 3 秒的时候推送回调。

onNetworkQuality()

加入房间后, 以 2 秒 1 次的频率,报告用户的网络质量信息

ts (localQuality: NetworkQualityStats, remoteQualities: NetworkQualityStats[]) => void

更多通话中的监测接口,详见通话中质量监测