You need to enable JavaScript to run this app.
文档中心
实时音视频

实时音视频

复制全文
下载 pdf
Electron 3.60.1
回调
复制全文
下载 pdf
回调

RTCVIDEOCALLBACK

类型:interface

  • 回调
回调描述
onLogReport端监控日志回调。当产生一个端监控事件时触发该回调。
onTakeLocalSnapshotResult调用 takeLocalSnapshot 截取视频画面时,收到此回调。
onTakeRemoteSnapshotResult调用 takeRemoteSnapshot 截取视频画面时,收到此回调。
onStreamSyncInfoReceived音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。
onCloudProxyConnected调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
onNetworkTimeSynchronized首次调用 getNetworkTimeInfo 后,SDK 内部启动网络时间同步,同步完成时会触发此回调。
onFaceDetectResult特效 SDK 进行人脸检测结果的回调。
调用 enableFaceDetection 注册了回调,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。
onAudioDeviceVolumeChanged音频设备音量改变回调。当通过系统设置,改变音频设备音量或静音状态时,触发本回调。本回调无需手动开启。
onAudioRecordingStateUpdate调用 startAudioRecording 或 stopAudioRecording 改变音频文件录制状态时,收到此回调。
onExtensionAccessError当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。
onHardwareEchoDetectionResult通话前回声检测结果回调。
onLocalProxyStateChanged本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,返回代理连接的状态。
onMixedStreamEvent服务端合流转推任务事件回调。
onLocalVideoFrame获取采集成功的本地摄像头视频帧,用于自定义处理或渲染。
onRemoteVideoFrame获取采集成功的远端摄像头视频帧,用于自定义处理或渲染。
onWarning当内部发生警告事件时触发该回调。
onError当内部发生不可逆转错误时触发该回调。
onConnectionStateChangedSDK 与信令服务器连接状态改变回调。连接状态改变时触发。
onNetworkTypeChangedSDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
onPerformanceAlarms本地未通过 setPublishFallbackOption 开启发布性能回退,检测到设备性能不足时,收到此回调。本地通过 setPublishFallbackOption 开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
onSysStats每 2 秒回调一次,报告当前 CPU 和内存使用率。
onUserStartAudioCapture房间内的用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
onUserStopAudioCapture房间内的用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
onFirstLocalAudioFrame本地采集到第一帧音频帧时,收到该回调。
onFirstRemoteAudioFrame收到房间内每一路音频流的第一帧时,收到该回调。
onSimulcastSubscribeFallback因发布/订阅性能回退或退出回退状态,订阅的音视频流,发生流的切换时,收到该回调。
onFirstLocalVideoFrameCaptured第一帧本地采集的视频/屏幕共享画面在本地视图渲染完成时,收到此回调。
onLocalVideoSizeChanged本地视频大小或旋转配置发生改变时,收到此回调。
onRemoteVideoSizeChanged远端视频大小或旋转配置发生改变时,房间内订阅此视频流的用户会收到此回调。
onFirstRemoteVideoFrameRendered第一帧远端视频流在视图上渲染成功后,收到此回调。
onFirstRemoteVideoFrameDecodedSDK 接收并解码远端视频流首帧后,收到此回调。
onUserStartVideoCapture房间内的用户调用 startVideoCapture 开启视频采集时,房间内其他用户会收到此回调。
onUserStopVideoCapture房间内的用户调用 stopVideoCapture 关闭视频采集时,房间内其他用户会收到此回调。
onLocalAudioStateChanged本地音频的状态发生改变时,该回调通知当前的本地音频状态。
onRemoteAudioStateChanged用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
onActiveSpeaker调用 enableAudioPropertiesReport 后,根据设置的 config.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
onLocalVideoStateChanged本地视频流的状态发生改变时,收到该事件。
onRemoteVideoStateChanged远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
onAudioFrameSendStateChanged音频首帧发送状态改变回调。
onVideoFrameSendStateChanged视频首帧发送状态改变回调。
onAudioFramePlayStateChanged音频首帧播放状态改变回调。
onVideoFramePlayStateChanged视频首帧播放状态改变回调。
onUserMessageSendResult调用 sendUserMessage 或 sendUserBinaryMessage 后,消息发送方会收到该消息发送结果回调。
onUserBinaryMessageReceived单个用户接收到同一房间内其他 uid 所属用户发来二进制消息的回调(P2P)。
onSEIMessageReceived收到通过 sendSEIMessage 发送的带有 SEI 消息的视频帧时,收到此回调。
onSingleStreamEvent单流转推直播状态回调。
onRecordingStateUpdate获取本地录制状态回调。
onRecordingProgressUpdate本地录制进度回调。
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 值,你会周期性地收到此回调,了解本地音频的相关信息。
onRemoteAudioPropertiesReport远端用户进房后,本地调用 enableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
onEchoTestResult通话回路测试结果回调。
onVideoDeviceStateChanged视频设备状态回调。提示摄像头视频采集、屏幕视频采集等设备的状态。
onAudioDeviceStateChanged音频设备状态回调。提示音频采集、音频播放等设备的状态。
onAudioPlaybackDeviceTestVolume回调音频设备测试时的播放音量。
onLocalSnapshotTakenToFile调用 takeLocalSnapshotToFile 截取视频画面时,会收到此回调报告截图是否成功,以及截取的图片信息。
onLicenseQuotaExceededAIGC使用license计费的场景下,当license配额用尽时,会收到该回调,请及时续费。
收到该回调时,AIGC服务会中止,请及时续费,并且建议离开房间、销毁SDK。
onRemoteSnapshotTakenToFile调用 takeRemoteSnapshotToFile 截取视频画面时,会收到此回调报告截图是否成功,以及截取的图片信息。
onRemoteUserAudioFrame返回远端单个用户的音频数据。
onRecordScreenAudioFrame返回本地屏幕录制的音频数据。
onCaptureMixedAudioFrame返回麦克风录制的音频数据,以及本地混音的音频数据。
onAudioDeviceWarning音频设备警告回调。音频设备包括音频采集设备和音频渲染设备。
onVideoDeviceWarning视频设备警告回调,包括视频采集设备等。
onSEIStreamUpdate黑帧视频流发布状态回调。

onLogReport

端监控日志回调。当产生一个端监控事件时触发该回调。

  • 签名

    (
      log_type: string,
      log_content: string
    ) => void
    
  • 参数

    参数名类型说明
    log_typestring事件类型。目前类型固定为 "live_webrtc_monitor_log"。
    log_contentstring端监控日志内容。

onTakeLocalSnapshotResult

调用 takeLocalSnapshot 截取视频画面时,收到此回调。

  • 签名

    (
      task_id: number,
      stream_index: number,
      image: string,
      error_code: number
    ) => void
    
  • 参数

    参数名类型说明
    task_idnumber本地截图任务的编号。和 takeLocalSnapshot 的返回值一致。
    stream_indexnumber流属性,主流或屏幕流。
    imagestring截图。你可以保存为文件,或对其进行二次处理。截图失败时,为空。
    error_codenumber截图错误码:
    • 0:成功
    • -1:截图错误。生成图片数据失败或 RGBA 编码失败
    • -2:截图错误。流无效。

onTakeRemoteSnapshotResult

调用 takeRemoteSnapshot 截取视频画面时,收到此回调。

  • 签名

    (
      task_id: number,
      stream_id: string,
      stream_info: StreamInfo,
      image: string,
      error_code: number
    ) => void
    
  • 参数

    参数名类型说明
    task_idnumber远端截图任务的编号。和 takeRemoteSnapshot 的返回值一致。
    stream_idstring被截图的视频流 ID。
    stream_infoStreamInfo被截图的视频流信息,参看 StreamInfo。
    imagestring截图。你可以保存为文件,或对其进行二次处理。截图失败时,为空。
    error_codenumber截图错误码:
    • 0:成功
    • -1:截图错误。生成图片数据失败或 RGBA 编码失败
    • -2:截图错误。流无效。

onStreamSyncInfoReceived

音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      stream_type: SyncInfoStreamType,
      data: string
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息,参看 StreamInfo。
    stream_typeSyncInfoStreamType媒体流类型,参看 SyncInfoStreamType。
    datastring消息内容。

onCloudProxyConnected

调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。

  • 签名

    (interval: number) => void
    
  • 参数

    参数名类型说明
    intervalnumber从开启云代理到连接成功经过的时间,单位为 ms。

onNetworkTimeSynchronized

首次调用 getNetworkTimeInfo 后,SDK 内部启动网络时间同步,同步完成时会触发此回调。

  • 签名

    () => void
    

onFaceDetectResult

特效 SDK 进行人脸检测结果的回调。
调用 enableFaceDetection 注册了回调,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。

  • 签名

    (
      detect_result: FaceDetectResult["detect_result"],
      face_count: FaceDetectResult["face_count"],
      rect: FaceDetectResult["rect"],
      image_width: FaceDetectResult["image_width"],
      image_height: FaceDetectResult["image_height"],
      frame_timestamp_us: FaceDetectResult["frame_timestamp_us"]
    ) => void
    
  • 参数

    参数名类型说明
    detect_resultnumber人脸检测结果码。
    face_countnumber检测到的人脸数量。
    rectRectangle[]检测到的人脸矩形框,数组长度与 face_count 一致。
    image_widthnumber原始图像宽度,单位为像素。
    image_heightnumber原始图像高度,单位为像素。
    frame_timestamp_usnumber用于人脸检测的视频帧时间戳,单位为微秒。

onAudioDeviceVolumeChanged

音频设备音量改变回调。当通过系统设置,改变音频设备音量或静音状态时,触发本回调。本回调无需手动开启。

  • 签名

    (
      device_type: RTCAudioDeviceType,
      volume: number,
      muted: boolean
    ) => void
    
  • 参数

    参数名类型说明
    device_typeRTCAudioDeviceType设备类型,包括麦克风和扬声器。
    volumenumber音量值,[0, 255]。当 volume 变为 0 时,muted 会变为 true。注意:在 Windows 端,当麦克风 volume 变为 0 时,muted 值不变。
    mutedboolean是否禁音状态。扬声器被设置为禁音时,muted 为 true,但 volume 保持不变。

onAudioRecordingStateUpdate

调用 startAudioRecording 或 stopAudioRecording 改变音频文件录制状态时,收到此回调。

onExtensionAccessError

当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。

  • 签名

    (
      extensionName: string,
      msg: string
    ) => void
    
  • 参数

    参数名类型说明
    extensionNamestring插件名字。
    msgstring失败说明。

onHardwareEchoDetectionResult

通话前回声检测结果回调。

  • 签名

    (hardware_echo_detection_result: HardwareEchoDetectionResult) => void
    
  • 注意

    • 建议在收到检测结果后,调用 stopHardwareEchoDetection 停止检测,释放对音频设备的占用。
    • 如果 SDK 在通话中检测到回声,将通过 onAudioDeviceWarning 回调 kMediaDeviceWarningLeakEchoDetected。
  • 参数

    参数名类型说明
    hardware_echo_detection_resultHardwareEchoDetectionResult通话前回声检测结果。

onLocalProxyStateChanged

本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,返回代理连接的状态。

  • 签名

    (
      local_proxy_type: LocalProxyType,
      local_proxy_state: LocalProxyState,
      local_proxy_error: LocalProxyError
    ) => void
    
  • 参数

    参数名类型说明
    local_proxy_typeLocalProxyType本地代理类型。
    local_proxy_stateLocalProxyState本地代理状态。
    local_proxy_errorLocalProxyError本地代理错误。

onMixedStreamEvent

服务端合流转推任务事件回调。

  • 签名

    (
      info: MixedStreamTaskInfo,
      event: MixedStreamTaskEvent,
      error_code: MixedStreamTaskErrorCode
    ) => void
    
  • 参数

    参数名类型说明
    infoMixedStreamTaskInfo合流转推任务信息,包含任务 ID 和推流目标类型。
    eventMixedStreamTaskEvent合流转推任务事件。
    error_codeMixedStreamTaskErrorCode合流转推任务错误码。

onLocalVideoFrame

获取采集成功的本地摄像头视频帧,用于自定义处理或渲染。

  • 签名

    (frame: IVideoFrame) => void
    
  • 参数

    参数名类型说明
    frameIVideoFrame视频帧。

onRemoteVideoFrame

获取采集成功的远端摄像头视频帧,用于自定义处理或渲染。

  • 签名

    (frame: IVideoFrame) => void
    
  • 注意

    视频帧的像素格式因平台而异。

  • 参数

    参数名类型说明
    frameIVideoFrame视频帧。

onWarning

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

  • 签名

    (warn: WarningCode) => void
    
  • 参数

    参数名类型说明
    warnWarningCode警告标识码。

onError

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

  • 签名

    (err: ErrorCode) => void
    
  • 参数

    参数名类型说明
    errErrorCode错误标识码。

onConnectionStateChanged

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

  • 签名

    (state: ConnectionState) => void
    
  • 参数

    参数名类型说明
    stateConnectionState当前 SDK 与信令服务器的连接状态。

onNetworkTypeChanged

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

  • 签名

    (type: NetworkType) => void
    
  • 注意

    更多信息参见 连接状态提示。

  • 参数

    参数名类型说明
    typeNetworkTypeSDK 当前的网络连接类型。

onPerformanceAlarms

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      mode: PerformanceAlarmMode,
      reason: PerformanceAlarmReason,
      data: SourceWantedData
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring告警影响的流 ID。
    stream_infoStreamInfo告警影响的流信息。
    modePerformanceAlarmMode指示本地是否开启发布回退功能
    • 当发布端未开启发布性能回退时,mode 值为 kPerformanceAlarmModeNormal。
    • 当发布端开启发布性能回退时,mode 值为 kPerformanceAlarmModeSimulcast。
    reasonPerformanceAlarmReason告警原因。
    dataSourceWantedData性能回退相关数据。

onSysStats

每 2 秒回调一次,报告当前 CPU 和内存使用率。

  • 签名

    (stats: SysStats) => void
    
  • 参数

    参数名类型说明
    statsSysStats返回包含当前系统状态信息的结构体。

onUserStartAudioCapture

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring开启音频采集的远端用户发布的流 ID。
    stream_infoStreamInfo开启音频采集的远端流信息。

onUserStopAudioCapture

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring关闭音频采集的远端用户发布的流 ID。
    stream_infoStreamInfo关闭音频采集的远端流信息。

onFirstLocalAudioFrame

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

  • 签名

    () => void
    

onFirstRemoteAudioFrame

收到房间内每一路音频流的第一帧时,收到该回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。

onSimulcastSubscribeFallback

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      event: RemoteStreamSwitch
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    eventRemoteStreamSwitch流切换信息。

onFirstLocalVideoFrameCaptured

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

  • 签名

    (info: VideoFrameInfo) => void
    
  • 参数

    参数名类型说明
    infoVideoFrameInfo视频信息。

onLocalVideoSizeChanged

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

  • 签名

    (info: VideoFrameInfo) => void
    
  • 参数

    参数名类型说明
    infoVideoFrameInfo视频帧信息。

onRemoteVideoSizeChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      stream: VideoFrameInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    streamVideoFrameInfo视频帧信息。

onFirstRemoteVideoFrameRendered

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      info: VideoFrameInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    infoVideoFrameInfo视频帧信息。

onFirstRemoteVideoFrameDecoded

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      info: VideoFrameInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    infoVideoFrameInfo视频帧信息。

onUserStartVideoCapture

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring开启视频采集的远端流 ID。
    stream_infoStreamInfo开启视频采集的远端流信息。

onUserStopVideoCapture

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring关闭视频采集的远端流 ID。
    stream_infoStreamInfo关闭视频采集的远端流信息。

onLocalAudioStateChanged

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

onRemoteAudioStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: RemoteAudioState,
      reason: RemoteAudioStateChangeReason
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    stateRemoteAudioState远端音频流状态。
    reasonRemoteAudioStateChangeReason远端音频流状态改变的原因。

onActiveSpeaker

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

  • 签名

    (
      room_id: string,
      uid: string
    ) => void
    
  • 参数

    参数名类型说明
    room_idstring房间 ID。
    uidstring最活跃用户(ActiveSpeaker)的用户 ID。

onLocalVideoStateChanged

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

onRemoteVideoStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: RemoteVideoState,
      reason: RemoteVideoStateChangeReason
    ) => void
    
  • 注意

    本回调仅适用于主流,不适用于屏幕流。

  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    stateRemoteVideoState远端视频流状态。
    reasonRemoteVideoStateChangeReason远端视频流状态改变的原因。

onAudioFrameSendStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      user: RtcUser,
      state: FirstFrameSendState
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    userRtcUser本地用户信息。
    stateFirstFrameSendState首帧发送状态。

onVideoFrameSendStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      user: RtcUser,
      state: FirstFrameSendState
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    userRtcUser本地用户信息。
    stateFirstFrameSendState首帧发送状态。

onAudioFramePlayStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      user: RtcUser,
      state: FirstFramePlayState
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    userRtcUser远端用户信息。
    stateFirstFramePlayState首帧播放状态。

onVideoFramePlayStateChanged

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      user: RtcUser,
      state: FirstFramePlayState
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    userRtcUser远端用户信息。
    stateFirstFramePlayState首帧播放状态。

onUserMessageSendResult

调用 sendUserMessage 或 sendUserBinaryMessage 后,消息发送方会收到该消息发送结果回调。

  • 签名

    (
      msgid: number,
      error: MessageSendResultCode
    ) => void
    
  • 参数

    参数名类型说明
    msgidnumber本条消息的 ID。
    errorMessageSendResultCode发送结果。0 表示发送成功,其他值表示发送失败。

onUserBinaryMessageReceived

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

  • 签名

    (
      uid: string,
      message: Buffer
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    uidstring消息发送者 ID 。
    messageBuffer收到的二进制消息内容。

onSEIMessageReceived

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

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      message: string
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    messagestring收到的 SEI 消息。

onSingleStreamEvent

单流转推直播状态回调。

  • 签名

    (
      task_id: string,
      event: SingleStreamTaskEvent,
      error_code: SingleStreamTaskErrorCode
    ) => void
    
  • 参数

    参数名类型说明
    task_idstring任务 ID。
    eventSingleStreamTaskEvent任务事件类型。
    error_codeSingleStreamTaskErrorCode任务错误码:
    • 0:推流成功。
    • 1091:服务端未知错误。
    • 1092:任务处理超时,请检查网络状态并重试。
    • 1093:服务端检测任务参数不合法。
    • 1094:转推任务在目标房间的用户 ID 被踢出目标房间。
    • 1095:转推任务加入目标房间失败。
    • 1096:转推任务在源房间拉流超时。
    • 1097:音视频编码转推任务不支持。
    • 1098:推 CDN 失败。
    • 1099:超过单流转推任务数限制。

onRecordingStateUpdate

获取本地录制状态回调。

  • 签名

    (
      state: number,
      error_code: number,
      info: RecordingInfo
    ) => void
    
  • 注意

    该回调由 startFileRecording 或 stopFileRecording 触发。

  • 参数

    参数名类型说明
    statenumber录制状态。
    error_codenumber录制错误码。
    infoRecordingInfo录制文件的详细信息。

onRecordingProgressUpdate

本地录制进度回调。

  • 签名

    (
      process: RecordingProgress,
      info: RecordingInfo
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    processRecordingProgress录制进度。
    infoRecordingInfo录制文件的详细信息。

onLoginResult

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

  • 签名

    (
      uid: string,
      error_code: number,
      elapsed: number
    ) => void
    
  • 参数

    参数名类型说明
    uidstring登录用户 ID。
    error_codenumber登录结果。
    elapsednumber从调用 login 接口开始到返回结果所用时长,单位为 ms。

onLogout

登出结果回调。

  • 签名

    (reason: LogoutReason) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    reasonLogoutReason用户登出的原因。

onServerParamsSetResult

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

  • 签名

    (error: number) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    errornumber设置结果
    • 返回 200,设置成功
    • 返回其他,设置失败。

onGetPeerOnlineStatus

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

  • 签名

    (
      peer_user_id: string,
      status: number
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    peer_user_idstring需要查询的用户 ID。
    statusnumber查询的用户登录状态。

onUserMessageReceivedOutsideRoom

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

  • 签名

    (
      uid: string,
      message: string
    ) => void
    
  • 参数

    参数名类型说明
    uidstring消息发送者 ID。
    messagestring收到的文本消息内容。

onUserBinaryMessageReceivedOutsideRoom

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

  • 签名

    (
      uid: string,
      message: Buffer
    ) => void
    
  • 参数

    参数名类型说明
    uidstring消息发送者 ID。
    messageBuffer收到的二进制消息内容。

onUserMessageSendResultOutsideRoom

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

  • 签名

    (
      msgid: number,
      error: number
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    msgidnumber本条消息的 ID。所有的 P2P 和 P2Server 消息共用一个 ID 序列。
    errornumber消息发送结果。

onServerMessageSendResult

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

  • 签名

    (
      msgid: number,
      error: number,
      msg: string
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    msgidnumber本条消息的 ID。所有的 P2P 和 P2Server 消息共用一个 ID 序列。
    errornumber消息发送结果。
    msgstring业务服务器返回的 ACK 消息,消息不超过 64 KB。

onRecordAudioFrame

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

  • 签名

    (audio_frame: IAudioFrame) => void
    
  • 参数

    参数名类型说明
    audio_frameIAudioFrame麦克风录制的音频数据。

onPlaybackAudioFrame

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

  • 签名

    (audio_frame: IAudioFrame) => void
    
  • 参数

    参数名类型说明
    audio_frameIAudioFrame远端所有用户混音后的音频数据。

onMixedAudioFrame

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

  • 签名

    (audio_frame: IAudioFrame) => void
    
  • 参数

    参数名类型说明
    audio_frameIAudioFrame本地麦克风录制和远端所有用户混音后的音频数据。

onASRSuccess

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

  • 签名

    () => void
    

onMessage

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

  • 签名

    (message: string) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    messagestring识别完成后得到的文字消息。

onASRError

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

  • 签名

    (
      error_code: number,
      error_message: string
    ) => void
    
  • 参数

    参数名类型说明
    error_codenumber错误码 <0:参数错误或 API 调用顺序错误。
    • -1:网络连接中断,服务不可用,内部会进行重连
    • -2:重复调用 startASR。开启语音识别服务后,你需要先调用 stopASR 停止语音识别服务,才能二次调用 startASR 再次开启服务。
    • -3:语音识别服务所需 token 为空
    • -4:Signature 鉴权模式下 secret_key 为空
    • -5:用户 ID 为空
    • -6:应用 ID 为空
    • -7:语音识别服务 cluster 为空
    • -8:语音识别服务连接失败,该版本没有语音识别功能,请联系 RTC 技术支持。
    error_messagestring错误原因说明。

onNetworkDetectionResult

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

  • 签名

    (
      type: number,
      quality: number,
      rtt: number,
      lost_rate: number,
      bit_rate: number,
      jitter: number
    ) => void
    
  • 参数

    参数名类型说明
    typenumber探测网络类型为上行/下行。
    qualitynumber探测网络的质量:
    • 0:网络质量未知。
    • 1:网络质量极好。
    • 2:主观感觉和 kNetworkQualityExcellent 差不多,但码率可能略低。
    • 3:主观感受有瑕疵但不影响沟通。
    • 4:勉强能沟通但不顺畅。
    • 5:网络质量非常差,基本不能沟通。
    rttnumber探测网络的 RTT,单位:ms。
    lost_ratenumber探测网络的丢包率。
    bit_ratenumber探测网络的带宽,单位:kbps。
    jitternumber探测网络的抖动,单位:ms。

onNetworkDetectionStopped

通话前网络探测结束。

  • 签名

    (reason: number) => void
    
  • 注意

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

    • 当调用 stopNetworkDetection 接口停止探测后,会收到一次该回调;
    • 当收到远端/本端音频首帧后,停止探测;
    • 当探测超过3分钟后,停止探测;
    • 当探测链路断开一定时间之后,停止探测。
  • 参数

    参数名类型说明
    reasonnumber停止探测的原因类型:
    • 0:用户主动停止
    • 1:探测超过三分钟
    • 2:探测网络连接断开。当超过 12s 没有收到回复,SDK 将断开网络连接,并且不再尝试重连。
    • 3:本地开始推拉流,停止探测
    • 4:网络探测失败,内部异常。

onLocalAudioPropertiesReport

调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。

  • 签名

    (
      audio_properties_infos: LocalAudioPropertiesInfo[],
      audio_properties_info_number: number
    ) => void
    
  • 参数

    参数名类型说明
    audio_properties_infosLocalAudioPropertiesInfo[]本地音频信息。本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
    audio_properties_info_numbernumber数组长度,无需关注。

onRemoteAudioPropertiesReport

远端用户进房后,本地调用 enableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。

  • 签名

    (
      audio_properties_infos: RemoteAudioPropertiesInfo[],
      audio_properties_info_number: number,
      total_remote_volume: number
    ) => void
    
  • 参数

    参数名类型说明
    audio_properties_infosRemoteAudioPropertiesInfo[]远端音频信息,其中包含流 ID、流信息以及音频属性信息。远端用户的音频包括使用 RTC SDK 采集的麦克风音频和屏幕音频。
    audio_properties_info_numbernumber数组长度,无需关注。
    total_remote_volumenumber订阅的所有远端流的总音量,取值范围为 [0, 255]。

onEchoTestResult

通话回路测试结果回调。

  • 签名

    (result: EchoTestResult) => void
    
  • 注意

    该回调触发的时机包括:

    • 检测过程中采集设备发生错误时;
    • 检测成功后;
    • 非设备原因导致检测过程中未接收到音/视频回放,停止检测后。
  • 参数

    参数名类型说明
    resultEchoTestResult
    • kTestSuccess 0:接收到采集的音视频的回放,通话回路检测成功。
    • kTestTimeout 1:测试超过 60s 仍未完成,已自动停止
    • kTestIntervalShort 2:上一次测试结束和下一次测试开始之间的时间间隔少于 5s
    • kAudioDeviceError 3:音频采集异常
    • kVideoDeviceError 4:视频采集异常
    • kAudioReceiveError 5:音频接收异常
    • kVideoReceiveError 6:视频接收异常
    • kInternalError 7:内部错误,不可恢复。

onVideoDeviceStateChanged

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

  • 签名

    (
      device_id: string,
      device_type: number,
      device_state: number,
      device_error: number
    ) => void
    
  • 参数

    参数名类型说明
    device_idstring设备 ID。采集屏幕共享流时,设备 ID 为固定字符串 screen_capture_video。
    device_typenumber设备类型:
    • -1:未知设备类型
    • 0:视频渲染设备类型
    • 1:视频采集设备类型
    • 2:屏幕流视频设备。
    device_statenumber设备状态:
    • 1:设备已开启
    • 2:设备已停止
    • 3:设备运行时错误。例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。
    • 4:设备已暂停。包括:
    • 采集过程中,目标应用窗体最小化到任务栏。
    • 开启采集或采集过程中,目标应用窗体被隐藏。
    • 采集过程中,目标应用窗体正在被拉伸。
    • 采集过程中,目标应用窗体正在被拖动。
    • 5:设备已恢复
    • 10:设备已插入
    • 11:设备被移除
    • 12:用户合盖打断了视频通话。如果系统未休眠或关机,将在开盖后自动恢复视频通话。
    • 13:视频通话已从合盖打断中恢复
    • 14:设备成为系统默认
    • 15:设备不再是系统默认
    • 16:获取设备列表超时后,收到设备列表通知。再次调用获取设备接口更新设备列表。
    device_errornumber设备错误类型:
    • 0:媒体设备正常
    • 1:没有权限启动媒体设备
    • 2:媒体设备已经在使用中
    • 3:媒体设备错误
    • 4:未找到指定的媒体设备
    • 5:媒体设备被移除,对象为采集屏幕流时,表明窗体被关闭或显示器被移除。
    • 6:设备没有数据回调
    • 7:设备采样率不支持。

onAudioDeviceStateChanged

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

  • 签名

    (
      device_id: string,
      device_type: number,
      device_state: number,
      device_error: number
    ) => void
    
  • 参数

    参数名类型说明
    device_idstring设备 ID。
    device_typenumber设备类型:
    • -1:未知设备类型
    • 0:音频渲染设备类型
    • 1:音频采集设备类型
    • 2:屏幕流音频设备。
    device_statenumber设备状态:
    • 1:设备已开启
    • 2:设备已停止
    • 3:设备运行时错误。例如,当媒体设备的预期行为是正常采集,但没有收到采集数据时,将回调该状态。
    • 4:设备已暂停。包括:
    • 采集过程中,目标应用窗体最小化到任务栏。
    • 开启采集或采集过程中,目标应用窗体被隐藏。
    • 采集过程中,目标应用窗体正在被拉伸。
    • 采集过程中,目标应用窗体正在被拖动。
    • 5:设备已恢复
    • 10:设备已插入
    • 11:设备被移除
    • 12:用户合盖打断了视频通话。如果系统未休眠或关机,将在开盖后自动恢复视频通话。
    • 13:通话已从合盖打断中恢复
    • 14:设备成为系统默认
    • 15:设备不再是系统默认。
    device_errornumber设备错误类型:
    • 0:媒体设备正常
    • 1:没有权限启动媒体设备
    • 2:媒体设备已经在使用中
    • 3:媒体设备错误
    • 4:未找到指定的媒体设备
    • 5:媒体设备被移除,对象为采集屏幕流时,表明窗体被关闭或显示器被移除。
    • 6:设备没有数据回调
    • 7:设备采样率不支持。

onAudioPlaybackDeviceTestVolume

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

  • 签名

    (volume: number) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    volumenumber音频设备测试播放音量。范围:[0,255]。

onLocalSnapshotTakenToFile

调用 takeLocalSnapshotToFile 截取视频画面时,会收到此回调报告截图是否成功,以及截取的图片信息。

  • 签名

    (
      file_path: string,
      width: number,
      height: number,
      error_code: number,
      task_id: number
    ) => void
    
  • 参数

    参数名类型说明
    file_pathstring截图文件的保存路径。
    widthnumber截图图像的宽度。单位:像素。
    heightnumber截图图像的高度。单位:像素。
    error_codenumber截图错误码。请参看 SnapshotErrorCode。
    task_idnumber截图任务的编号,和 takeLocalSnapshotToFile 的返回值一致。

onLicenseQuotaExceeded

AIGC使用license计费的场景下,当license配额用尽时,会收到该回调,请及时续费。
收到该回调时,AIGC服务会中止,请及时续费,并且建议离开房间、销毁SDK。

  • 签名

    (message: string) => void
    
  • 参数

    参数名类型说明
    messagestring回调描述信息。

onRemoteSnapshotTakenToFile

调用 takeRemoteSnapshotToFile 截取视频画面时,会收到此回调报告截图是否成功,以及截取的图片信息。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      file_path: string,
      width: number,
      height: number,
      error_code: number,
      task_id: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring被截图的视频流 ID。
    stream_infoStreamInfo被截图的视频流信息。
    file_pathstring截图文件的保存路径。
    widthnumber截图图像的宽度。单位:像素。
    heightnumber截图图像的高度。单位:像素。
    error_codenumber截图错误码。请参看 SnapshotErrorCode。
    task_idnumber截图任务的编号,和 takeRemoteSnapshotToFile 的返回值一致。

onRemoteUserAudioFrame

返回远端单个用户的音频数据。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      audio_frame: IAudioFrame
    ) => void
    
  • 注意

    此回调在播放线程调用。不要在此回调中做任何耗时的事情,否则可能会影响整个音频播放链路。

  • 参数

    参数名类型说明
    stream_idstring远端流 ID。
    stream_infoStreamInfo远端流信息。
    audio_frameIAudioFrame音频数据。

onRecordScreenAudioFrame

返回本地屏幕录制的音频数据。

  • 签名

    (audio_frame: IAudioFrame) => void
    
  • 参数

    参数名类型说明
    audio_frameIAudioFrame音频数据。

onCaptureMixedAudioFrame

返回麦克风录制的音频数据,以及本地混音的音频数据。

  • 签名

    (audio_frame: IAudioFrame) => void
    
  • 参数

    参数名类型说明
    audio_frameIAudioFrame音频数据。

onAudioDeviceWarning

音频设备警告回调。音频设备包括音频采集设备和音频渲染设备。

  • 签名

    (
      device_id: string,
      device_type: RTCAudioDeviceType,
      device_warning: MediaDeviceWarning
    ) => void
    
  • 参数

    参数名类型说明
    device_idstring设备 ID。
    device_typeRTCAudioDeviceType设备类型。
    device_warningMediaDeviceWarning告警信息。

onVideoDeviceWarning

视频设备警告回调,包括视频采集设备等。

  • 签名

    (
      device_id: string,
      device_type: RTCAudioDeviceType,
      device_warning: MediaDeviceWarning
    ) => void
    
  • 参数

    参数名类型说明
    device_idstring设备 ID。
    device_typeRTCAudioDeviceType设备类型。
    device_warningMediaDeviceWarning告警信息。

onSEIStreamUpdate

黑帧视频流发布状态回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      type: SEIStreamEventType
    ) => void
    
  • 注意

    • 在语音通话场景下,本地用户调用 sendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。
    • 你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo远端流信息。
    typeSEIStreamEventType黑帧视频流状态。

RTCROOMCALLBACK

类型:interface

  • 回调
回调描述
onUserVisibilityChanged用户调用 setUserVisibility 设置用户可见性的回调。
onVideoPublishStateChanged视频发布状态改变回调。
onAudioPublishStateChanged音频发布状态改变回调。
onVideoSubscribeStateChanged视频订阅状态发生改变回调。
onAudioSubscribeStateChanged音频订阅状态发生改变回调。
onLeaveRoom离开房间成功回调。
onUserJoined可见用户加入房间,或房内不可见用户切换为可见的回调。
1.远端可见用户调用 setUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内不可见远端用户调用 setUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的可见角色用户的进房回调通知。
onUserLeave远端用户离开房间,或切至不可见时,本地用户会收到此事件。
onTokenWillExpireToken 过期前 30 秒将触发该回调。
onAVSyncStateChange发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。
onRoomStats房间通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
onLocalStreamStats反映通话中本地设备发送音/视频流的统计信息以及网络状况的回调。
本地用户发布音视频流成功后,每隔 2s 收到此回调。
onRemoteStreamStats反映通话中本地设备接收订阅的远端音/视频流的统计信息以及网络状况的回调。每隔 2s 收到此回调。
onUserPublishStreamVideo房间内远端摄像头采集的媒体流的回调。
onUserPublishStreamAudio房间内远端麦克风采集的媒体流的回调。
onAVSyncEvent发布端调用 setMultiDeviceAVSync 后音视频同步状态发生错误时,会收到此回调。
onVideoStreamBanned通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
onAudioStreamBanned通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。
onRoomMessageReceived接收到房间内广播消息的回调。
onRoomBinaryMessageReceived接收到房间内广播二进制消息的回调。
onUserMessageReceived收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
onUserBinaryMessageReceived收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
onUserMessageSendResult向房间内单个用户发送点对点文本或点对点二进制消息后,消息发送方会收到该消息发送结果回调。
onRoomMessageSendResult调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
onForwardStreamStateChanged跨房间媒体流转发状态和错误回调。
onForwardStreamEvent跨房间媒体流转发事件回调。
onNetworkQuality加入房间后,以 2 秒 1 次的频率,报告用户的网络质量信息。
onPublishPrivilegeTokenWillExpireToken 发布权限过期前 30 秒将触发该回调。
onSubscribePrivilegeTokenWillExpireToken 订阅权限过期前 30 秒将触发该回调。
onSetRoomExtraInfoResult调用 setRoomExtraInfo 设置房间附加信息结果的回调。
onRoomExtraInfoUpdate接收同一房间内,其他用户调用 setRoomExtraInfo 设置的房间附加信息的回调。
onRoomStreamExtraInfoUpdate接收同一房间内,其他用户调用 setStreamExtraInfo 设置的流附加信息的回调。
onSubtitleStateChanged字幕状态发生改变回调。
当用户调用 startSubtitle 和 stopSubtitle 使字幕状态发生改变或字幕任务出现错误时,触发该回调。
onSubtitleMessageReceived字幕相关内容回调。
当用户成功调用 startSubtitle 后会收到此回调,通知字幕的相关信息。

onUserVisibilityChanged

用户调用 setUserVisibility 设置用户可见性的回调。

  • 签名

    (
      current_user_visibility: boolean,
      error_code: UserVisibilityChangeError
    ) => void
    
  • 参数

    参数名类型说明
    current_user_visibilityboolean当前用户的可见性。
    • true:可见,用户可以在房间内发布音视频流,房间中的其他用户将收到用户的行为通知,例如进房、开启视频采集和退房。
    • false:不可见,用户不可以在房间内发布音视频流,房间中的其他用户不会收到用户的行为通知,例如进房、开启视频采集和退房。
    error_codeUserVisibilityChangeError设置用户可见性错误码。

onVideoPublishStateChanged

视频发布状态改变回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: number,
      reason: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    statenumber发布状态码,参看 PublishState。
    reasonnumber视频流发布状态改变的具体原因,参看 PublishStateChangeReason。

onAudioPublishStateChanged

音频发布状态改变回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: number,
      reason: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    statenumber发布状态码,参看 PublishState。
    reasonnumber音频流发布状态改变的具体原因,参看 PublishStateChangeReason。

onVideoSubscribeStateChanged

视频订阅状态发生改变回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: number,
      reason: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    statenumber订阅状态码,参看 SubscribeState。
    reasonnumber视频订阅状态改变的具体原因,参看 SubscribeStateChangeReason。

onAudioSubscribeStateChanged

音频订阅状态发生改变回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      state: number,
      reason: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    statenumber订阅状态码,参看 SubscribeState。
    reasonnumber音频订阅状态改变的具体原因,参看 SubscribeStateChangeReason。

onLeaveRoom

离开房间成功回调。

  • 签名

    (stats: RtcRoomStats) => void
    
  • 注意

    • 用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
    • 用户调用 leaveRoom 方法离开房间后,如果立即调用 destroy 方法销毁 RTC 引擎,则将无法收到此回调事件。
    • 离开房间后,如果 App 需要使用系统音视频设备,则建议在收到此回调后再初始化音视频设备,否则可能由于 SDK 占用音视频设备导致初始化失败。
  • 参数

    参数名类型说明
    statsRtcRoomStats本次通话的统计数据。

onUserJoined

可见用户加入房间,或房内不可见用户切换为可见的回调。

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

    (user_info: UserInfo) => void
    
  • 参数

    参数名类型说明
    user_infoUserInfo用户信息。

onUserLeave

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

  • 签名

    (
      uid: string,
      reason: UserOfflineReasonType
    ) => void
    
  • 参数

    参数名类型说明
    uidstring离开房间,或切至不可见的远端用户 ID。
    reasonUserOfflineReasonType用户离开房间的原因。

onTokenWillExpire

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

  • 签名

    () => void
    
  • 注意

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

onAVSyncStateChange

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

  • 签名

    (state: AVSyncState) => void
    
  • 参数

    参数名类型说明
    stateAVSyncState音视频同步状态。

onRoomStats

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

  • 签名

    (stats: RtcRoomStats) => void
    
  • 参数

    参数名类型说明
    statsRtcRoomStats房间内的汇总统计数据。

onLocalStreamStats

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

  • 签名

    (stats: LocalStreamStats) => void
    
  • 参数

    参数名类型说明
    statsLocalStreamStats音视频流以及网络状况统计信息。

onRemoteStreamStats

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

  • 签名

    (stats: RemoteStreamStats) => void
    
  • 参数

    参数名类型说明
    statsRemoteStreamStats音视频流以及网络状况统计信息。

onUserPublishStreamVideo

房间内远端摄像头采集的媒体流的回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      is_publish: boolean
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    is_publishboolean流是否发布。
    • true:流发布
    • false:流移除。

onUserPublishStreamAudio

房间内远端麦克风采集的媒体流的回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      is_publish: boolean
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    is_publishboolean流是否发布。
    • true:流发布
    • false:流移除。

onAVSyncEvent

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

  • 签名

    (
      room_id: string,
      uid: string,
      av_sync_event: number
    ) => void
    
  • 参数

    参数名类型说明
    room_idstring房间 ID。
    uidstring用户 ID。
    av_sync_eventnumber音视频同步状态错误,参看 AVSyncEvent。

onVideoStreamBanned

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

  • 签名

    (
      uid: string,
      banned: boolean
    ) => void
    
  • 注意

    • 房间内指定用户被禁止/解禁视频流发送时,房间内所有用户都会收到该回调。
    • 若被封禁用户退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
    • 若被封禁用户断网后重连进房,则依然是封禁状态,且只有本人会再次收到该回调。
    • 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
    • 通话人数超过 5 人时,只有被封禁/解禁用户会收到该回调。
  • 参数

    参数名类型说明
    uidstring被禁用/解禁的视频流用户 ID。
    bannedboolean视频流发送状态:
    • true:视频流发送被禁用
    • false:视频流发送被解禁。

onAudioStreamBanned

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

  • 签名

    (
      uid: string,
      banned: boolean
    ) => void
    
  • 注意

    • 房间内指定用户被禁止/解禁音频流发送时,房间内所有用户都会收到该回调。
    • 若被封禁用户退房后再进房,则依然是封禁状态,且房间内所有人会再次收到该回调。
    • 若被封禁用户断网后重连进房,则依然是封禁状态,且只有本人会再次收到该回调。
    • 指定用户被封禁后,房间内其他用户退房后再进房,会再次收到该回调。
    • 通话人数超过 5 人时,只有被封禁/解禁用户会收到该回调。
  • 参数

    参数名类型说明
    uidstring被禁用/解禁的音频流用户 ID。
    bannedboolean音频流发送状态:
    • true:音频流发送被禁用
    • false:音频流发送被解禁。

onRoomMessageReceived

接收到房间内广播消息的回调。

  • 签名

    (
      uid: string,
      message: string
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    uidstring消息发送者 ID。
    messagestring收到的消息内容。

onRoomBinaryMessageReceived

接收到房间内广播二进制消息的回调。

  • 签名

    (
      uid: string,
      message: Buffer
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    uidstring消息发送者 ID。
    messageBuffer收到的二进制消息内容。

onUserMessageReceived

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

  • 签名

    (
      uid: string,
      message: string
    ) => void
    
  • 参数

    参数名类型说明
    uidstring消息发送者的用户 ID 。
    messagestring收到的文本消息内容。

onUserBinaryMessageReceived

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

  • 签名

    (
      uid: string,
      message: Buffer
    ) => void
    
  • 参数

    参数名类型说明
    uidstring消息发送者的用户 ID 。
    messageBuffer收到的二进制消息内容。

onUserMessageSendResult

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

  • 签名

    (
      msgid: number,
      error: number
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    msgidnumber本条消息的 ID。
    errornumber发送结果。0 表示发送成功,其他值表示发送失败,参看 MessageSendResultCode。

onRoomMessageSendResult

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

  • 签名

    (
      msgid: number,
      error: number
    ) => void
    
  • 参数

    参数名类型说明
    msgidnumber本条消息的 ID。
    errornumber发送结果。200 表示发送成功,其他值表示发送失败,参看 MessageSendResultCode。

onForwardStreamStateChanged

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

  • 签名

    (
      infos: ForwardStreamStateInfo[],
      info_count: number
    ) => void
    
  • 参数

    参数名类型说明
    infosForwardStreamStateInfo[]跨房间媒体流转发目标房间信息数组。
    info_countnumber数量。

onForwardStreamEvent

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

  • 签名

    (
      infos: ForwardStreamEventInfo[],
      info_count: number
    ) => void
    
  • 参数

    参数名类型说明
    infosForwardStreamEventInfo[]跨房间媒体流转发目标房间事件数组。
    info_countnumber数量。

onNetworkQuality

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

  • 签名

    (
      localQuality: NetworkQualityStats,
      remoteQualities: NetworkQualityStats[]
    ) => void
    
  • 注意

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

  • 参数

    参数名类型说明
    localQualityNetworkQualityStats本地网络质量。
    remoteQualitiesNetworkQualityStats[]已订阅用户的网络质量。

onPublishPrivilegeTokenWillExpire

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

onSubscribePrivilegeTokenWillExpire

Token 订阅权限过期前 30 秒将触发该回调。

  • 签名

    () => void
    
  • 注意

    收到该回调后,你需调用 updateToken 更新 Token 订阅权限有效期。若收到该回调后未及时更新 Token,Token 订阅权限过期后,尝试新订阅流会失败,已订阅的流会取消订阅,并且会收到对应的订阅状态回调,例如 onVideoSubscribeStateChanged 或 onAudioSubscribeStateChanged,提示没有订阅权限。

onSetRoomExtraInfoResult

调用 setRoomExtraInfo 设置房间附加信息结果的回调。

  • 签名

    (
      task_id: number,
      error_code: SetRoomExtraInfoResult
    ) => void
    
  • 参数

    参数名类型说明
    task_idnumber调用 setRoomExtraInfo 的任务编号。
    error_codeSetRoomExtraInfoResulterror_code 设置房间附加信息的结果。

onRoomExtraInfoUpdate

接收同一房间内,其他用户调用 setRoomExtraInfo 设置的房间附加信息的回调。

  • 签名

    (
      key: string,
      value: string,
      last_update_user_id: string,
      last_update_time_ms: number
    ) => void
    
  • 注意

    新进房的用户会收到进房前房间内已有的全部附加信息通知。

  • 参数

    参数名类型说明
    keystring房间附加信息的键值。
    valuestring房间附加信息的内容。
    last_update_user_idstring最后更新本条信息的用户 ID。
    last_update_time_msnumber最后更新本条信息的 Unix 时间,单位:毫秒。

onRoomStreamExtraInfoUpdate

接收同一房间内,其他用户调用 setStreamExtraInfo 设置的流附加信息的回调。

  • 签名

    (
      stream_id: string,
      stream_info: StreamInfo,
      extra_info: string
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstring流 ID。
    stream_infoStreamInfo流信息。
    extra_infostring流附加信息的内容。

onSubtitleStateChanged

字幕状态发生改变回调。
当用户调用 startSubtitle 和 stopSubtitle 使字幕状态发生改变或字幕任务出现错误时,触发该回调。

  • 签名

    (
      state: SubtitleState,
      error_code: SubtitleErrorCode,
      error_message: string
    ) => void
    
  • 参数

    参数名类型说明
    stateSubtitleState字幕状态。
    error_codeSubtitleErrorCode字幕任务错误码。
    error_messagestring与第三方服务有关的错误信息。

onSubtitleMessageReceived

字幕相关内容回调。
当用户成功调用 startSubtitle 后会收到此回调,通知字幕的相关信息。

  • 签名

    (subtitles: SubtitleMessage[]) => void
    
  • 参数

    参数名类型说明
    subtitlesSubtitleMessage[]字幕消息内容。

RTCAUDIOEFFECTPLAYERCALLBACK

类型:interface

  • 回调
回调描述
onAudioEffectPlayerStateChanged播放状态改变时回调。

onAudioEffectPlayerStateChanged

播放状态改变时回调。

  • 签名

    (
      effect_id: number,
      state: PlayerState,
      error: PlayerError
    ) => void
    
  • 参数

    参数名类型说明
    effect_idnumberveRTCAudioEffectPlayer 的 ID。通过 getAudioEffectPlayer 设置。
    statePlayerState播放状态。
    errorPlayerError错误码。

RTCMediaPlayerCALLBACK

类型:interface

  • 回调
回调描述
onMediaPlayerStateChanged播放状态改变时回调。
onMediaPlayerEvent播放器事件回调。
onMediaPlayerPlayingProgress播放进度周期性回调。回调周期通过 MediaPlayerConfig.callback_on_progress_interval 设置。

onMediaPlayerStateChanged

播放状态改变时回调。

  • 签名

    (
      player_id: number,
      state: PlayerState,
      error: PlayerError
    ) => void
    
  • 参数

    参数名类型说明
    player_idnumberveRTCMediaPlayer 的 ID。通过 getMediaPlayer 设置。
    statePlayerState播放状态。
    errorPlayerError错误码。

onMediaPlayerEvent

播放器事件回调。

  • 签名

    (
      player_id: number,
      event: number,
      message: string
    ) => void
    
  • 参数

    参数名类型说明
    player_idnumberveRTCMediaPlayer 的 ID。通过 getMediaPlayer 设置。
    eventnumber播放器事件。参看 PlayerEvent。
    messagestring事件附带描述信息,可能为空字符串。

onMediaPlayerPlayingProgress

播放进度周期性回调。回调周期通过 MediaPlayerConfig.callback_on_progress_interval 设置。

  • 签名

    (
      player_id: number,
      progress: string
    ) => void
    
  • 参数

    参数名类型说明
    player_idnumberveRTCMediaPlayer 的 ID。通过 getMediaPlayer 设置。
    progressstring进度。单位 ms。

RTCWTNSTREAMCALLBACK

类型:interface

WTN 流事件回调。

  • 回调
回调描述
onWTNVideoSubscribeStateChangedWTN 视频流订阅状态变化回调。
onWTNAudioSubscribeStateChangedWTN 音频流订阅状态变化回调。
onWTNFirstRemoteAudioFrameWTN 音频流首帧解码成功回调。
onWTNFirstRemoteVideoFrameDecodedWTN 视频流首帧解码成功回调。
onWTNSEIMessageReceived回调 WTN 流中携带的 SEI 信息。
onWTNDataMessageReceived回调 WTN 流中携带的数据消息。
onWTNVideoFrame自定义渲染 WTN 视频帧回调。

onWTNVideoSubscribeStateChanged

WTN 视频流订阅状态变化回调。

  • 签名

    (
      stream_id: string,
      state_code: WTNSubscribeState,
      reason: WTNSubscribeStateChangeReason
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 视频流 ID。
    state_codeWTNSubscribeState订阅状态。
    reasonWTNSubscribeStateChangeReason订阅状态变化原因。

onWTNAudioSubscribeStateChanged

WTN 音频流订阅状态变化回调。

  • 签名

    (
      stream_id: string,
      state_code: WTNSubscribeState,
      reason: WTNSubscribeStateChangeReason
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 音频流 ID。
    state_codeWTNSubscribeState订阅状态。
    reasonWTNSubscribeStateChangeReason订阅状态变化原因。

onWTNFirstRemoteAudioFrame

WTN 音频流首帧解码成功回调。

  • 签名

    (stream_id: string) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 流 ID。

onWTNFirstRemoteVideoFrameDecoded

WTN 视频流首帧解码成功回调。

  • 签名

    (
      stream_id: string,
      info: VideoFrameInfo
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 流 ID。
    infoVideoFrameInfo视频帧信息。

onWTNSEIMessageReceived

回调 WTN 流中携带的 SEI 信息。

  • 签名

    (
      stream_id: string,
      channel_id: number,
      message: Uint8Array,
      message_length: number
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 流 ID。
    channel_idnumberSEI 消息通道 ID,取值范围 [0, 255]。
    messageUint8Array通过客户端 API 插入的 SEI 消息内容。
    message_lengthnumberSEI 消息长度。

onWTNDataMessageReceived

回调 WTN 流中携带的数据消息。

  • 签名

    (
      stream_id: string,
      message: Uint8Array,
      source_type: DataMessageSourceType
    ) => void
    
  • 参数

    参数名类型说明
    stream_idstringWTN 流 ID。
    messageUint8Array数据消息内容,包括 OpenAPI 发送的自定义消息和音量信息。
    source_typeDataMessageSourceType数据来源类型。

onWTNVideoFrame

自定义渲染 WTN 视频帧回调。

  • 签名

    (frame: IVideoFrame) => void
    
  • 参数

    参数名类型说明
    frameIVideoFrame视频帧数据。
最近更新时间:2026.10.12 10:33:01
这个页面对您有帮助吗?
有用
有用
无用
无用