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

实时音视频

复制全文
下载 pdf
React Native 3.58
回调
复制全文
下载 pdf
回调

IFaceDetectionObserver

类型:interface

人脸检测结果回调观察者
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onFaceDetectResult

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

类型

((result: FaceDetectionResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
result
是
无

人脸检测结果, 参看 FaceDetectionResult。

RTCVideoEventHandler

类型:interface

音视频引擎事件回调接口
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onWarning

发生警告回调。
SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。

类型

((warn: WarningCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
warn
是
无

警告代码,参见 WarningCode

onError

发生错误回调。
SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
你可能需要干预。

类型

((err: ErrorCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
err
是
无

错误代码,详情定义见: ErrorCode

onExtensionAccessError

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

类型

((extensionName: string, msg: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
extensionName
string
是
无

插件名字

msg
string
是
无

失败说明

onSysStats

每 2 秒发生回调,通知当前 cpu,内存使用的信息。

类型

((stats: SysStats) => void) | undefined

参数

名称
类型
必选
默认值
描述
stats
是
无

cpu,内存信息。详见 SysStats 数据类型。

onNetworkTypeChanged

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

类型

((type: RTCNetworkType) => void) | undefined

参数

名称
类型
必选
默认值
描述
type
是
无

网络类型。

  • -1: 网络连接类型未知。
  • 0: 网络连接已断开。
  • 1: LAN
  • 2: Wi-Fi,包含热点
  • 3: 2G 移动网络
  • 4: 3G 移动网络
  • 5: 4G 移动网络
  • 6: 5G 移动网络

onUserStartVideoCapture

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

类型

((roomId: string, uid: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

开启视频采集的远端用户所在的房间 ID

uid
string
是
无

开启视频采集的远端用户 ID

onUserStopVideoCapture

房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。

类型

((roomId: string, uid: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

关闭视频采集的远端用户所在的房间 ID

uid
string
是
无

关闭视频采集的远端用户 ID

onCreateRoomStateChanged

创建房间失败回调。

类型

((roomId: string, errorCode: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID。

errorCode
number
是
无

创建房间错误码,具体原因参看 ErrorCode。

onUserStartAudioCapture

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

类型

((roomId: string, uid: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

开启音频采集的远端用户所在的房间 ID

uid
string
是
无

开启音频采集的远端用户 ID

onUserStopAudioCapture

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

类型

((roomId: string, uid: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

关闭音频采集的远端用户所在的房间 ID

uid
string
是
无

关闭音频采集的远端用户 ID

onLocalAudioStateChanged

本地音频流的状态发生改变时,收到此回调。

类型

((state: LocalAudioStreamState, error: LocalAudioStreamError) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
是
无

本地音频设备的状态,详见 LocalAudioStreamState

error
是
无

本地音频流状态改变时的错误码,详见 LocalAudioStreamError

onRemoteAudioStateChanged

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

类型

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

参数

名称
类型
必选
默认值
描述
key
是
无

远端流信息, 详见 RemoteStreamKey

state
是
无

远端音频流状态,详见 RemoteAudioState

reason
是
无

远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason

onLocalVideoStateChanged

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

类型

((streamIndex: StreamIndex, state: LocalVideoStreamState, error: LocalVideoStreamError) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

流属性,参看 StreamIndex

state
是
无

本地视频流状态,参看 LocalVideoStreamState

error
是
无

本地视频状态改变时的错误码,参看 LocalVideoStreamError

onRemoteVideoStateChanged

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

类型

((streamKey: RemoteStreamKey, videoState: RemoteVideoState, videoStateReason: RemoteVideoStateChangeReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamKey
是
无

远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey

videoState
是
无

远端视频流状态,参看 RemoteVideoState

videoStateReason
是
无

远端视频流状态改变原因,参看 RemoteVideoStateChangeReason

onFirstRemoteVideoFrameRendered

SDK 内部渲染成功远端视频流首帧后,收到此回调。

类型

((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

远端流信息,参看 RemoteStreamKey

frameInfo
是
无

视频帧信息,参看 VideoFrameInfo

onFirstRemoteVideoFrameDecoded

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

类型

((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

远端流信息,参看 RemoteStreamKey

frameInfo
是
无

视频帧信息,参看 VideoFrameInfo

onFirstLocalVideoFrameCaptured

RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。

类型

((streamIndex: StreamIndex, frameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

流属性,参看 StreamIndex

frameInfo
是
无

视频信息,参看 VideoFrameInfo

onLocalVideoSizeChanged

本地预览视频大小或旋转信息发生改变时,收到此回调。

类型

((streamIndex: StreamIndex, frameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

流属性,参看 StreamIndex

frameInfo
是
无

视频帧信息,参看 VideoFrameInfo

onRemoteVideoSizeChanged

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

类型

((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

远端流信息,参看 RemoteStreamKey。

frameInfo
是
无

视频帧信息,参看 VideoFrameInfo

onConnectionStateChanged

回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。

类型

((state: ConnectionState) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
是
无

当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState

onAudioRouteChanged

音频播放路由变化时,收到该回调。

类型

((route: AudioRoute) => void) | undefined

参数

名称
类型
必选
默认值
描述
route
是
无

新的音频播放路由,详见 AudioRoute

onFirstLocalAudioFrame

发布音频流时,采集到第一帧音频帧,收到该回调。

类型

((streamIndex: StreamIndex) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

音频流属性, 详见 StreamIndex

onFirstRemoteAudioFrame

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

类型

((remoteStreamKey: RemoteStreamKey) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

远端音频流信息, 详见 RemoteStreamKey

onSEIMessageReceived

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

类型

((remoteStreamKey: RemoteStreamKey, message: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey

message
ArrayBuffer
是
无

收到的 SEI 消息内容

onSEIStreamUpdate

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

类型

((remoteStreamKey: RemoteStreamKey, event: SEIStreamUpdateEventType) => void) | undefined

参数

名称
类型
必选
默认值
描述
remoteStreamKey
是
无

远端流信息,参看 RemoteStreamKey。

event
是
无

黑帧视频流状态,参看 SEIStreamUpdateEvent

onLoginResult

登录结果回调

类型

((uid: string, errorCode: LoginErrorCode, elapsed: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

登录用户 ID

errorCode
是
无

登录结果
详见 LoginErrorCode。

elapsed
number
是
无

从调用 login 接口开始到返回结果所用时长。
单位为 ms。

onLogout

登出结果回调

类型

((reason: LogoutReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
reason
是
无

用户登出的原因,参看 LogoutReason

onServerParamsSetResult

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

类型

((error: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
error
number
是
无

设置结果

  • 返回 200,设置成功
  • 返回其他,设置失败,详见 UserMessageSendResult

onGetPeerOnlineStatus

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

类型

((peerUserId: string, status: UserOnlineStatus) => void) | undefined

参数

名称
类型
必选
默认值
描述
peerUserId
string
是
无

需要查询的用户 ID

status
是
无

查询的用户登录状态
详见 UserOnlineStatus。

onUserMessageReceivedOutsideRoom

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

类型

((uid: string, message: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者 ID

message
string
是
无

收到的文本消息内容

onUserBinaryMessageReceivedOutsideRoom

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

类型

((uid: string, message: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者 ID

message
ArrayBuffer
是
无

收到的二进制消息内容

onUserMessageSendResultOutsideRoom

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

类型

((msgid: number, error: UserMessageSendResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
msgid
number
是
无

本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。

error
是
无

消息发送结果
详见 UserMessageSendResult。

onServerMessageSendResult

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

类型

((msgid: number, error: UserMessageSendResult, message: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
msgid
number
是
无

本条消息的 ID
所有的 P2P 和 P2Server 消息共用一个 ID 序列。

error
是
无

消息发送结果,详见 UserMessageSendResult。

message
ArrayBuffer
是
无

应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。消息不超过 64 KB。

onNetworkDetectionResult

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

类型

((type: NetworkDetectionLinkType, quality: NetworkQuality, rtt: number, lostRate: number, bitrate: number, jitter: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
type
是
无

探测网络类型为上行/下行

quality
是
无

探测网络的质量,参看 NetworkQuality。

rtt
number
是
无

探测网络的 RTT,单位:ms

lostRate
number
是
无

探测网络的丢包率

bitrate
number
是
无

探测网络的带宽,单位:kbps

jitter
number
是
无

探测网络的抖动,单位:ms

onNetworkDetectionStopped

通话前网络探测结束
以下情况将停止探测并收到一次本回调:

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

类型

((reason: NetworkDetectionStopReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
reason
是
无

停止探测的原因类型,参考 NetworkDetectionStopReason

onSimulcastSubscribeFallback

音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。

类型

((event: RemoteStreamSwitchEvent) => void) | undefined

参数

名称
类型
必选
默认值
描述
event
是
无

音视频流发生变化的信息。参看 RemoteStreamSwitch。

onPerformanceAlarms

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

类型

((mode: PerformanceAlarmMode, roomId: string, reason: PerformanceAlarmReason, data: SourceWantedData) => void) | undefined

参数

名称
类型
必选
默认值
描述
mode
是
无

指示本地是否开启发布回退功能。参看 PerformanceAlarmMode

  • 当发布端未开启发布性能回退时,mode 值为 NORMAL。

    • 当发布端开启发布性能回退时,mode 值为 SIMULCAST。
roomId
string
是
无
  • 未开启发布性能回退时,roomId 为空
    • 开启发布性能回退时,roomId 是告警影响的房间 ID。
reason
是
无

告警原因,参看 PerformanceAlarmReason

data
是
无

性能回退相关数据,详见 SourceWantedData。

onAudioFrameSendStateChanged

本地音频首帧发送状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

音频发布用户所在的房间 ID

user
是
无

本地用户信息,详见 RtcUser

state
是
无

首帧发送状态,详见 FirstFrameSendState

onVideoFrameSendStateChanged

本地视频首帧发送状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

视频发布用户所在的房间 ID

user
是
无

本地用户信息,详见 RtcUser

state
是
无

首帧发送状态,详见 FirstFrameSendState

onScreenVideoFrameSendStateChanged

屏幕共享流的视频首帧发送状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

屏幕视频发布用户所在的房间 ID

user
是
无

本地用户信息,详见 RtcUser

state
是
无

首帧发送状态,详见 FirstFrameSendState

onAudioFramePlayStateChanged

音频首帧播放状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

音频发布用户所在的房间 ID

user
是
无

远端用户信息,详见 RtcUser

state
是
无

首帧播放状态,详见 FirstFramePlayState

onVideoFramePlayStateChanged

视频首帧播放状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

视频发布用户所在的房间 ID

user
是
无

远端用户信息,详见 RtcUser

state
是
无

首帧播放状态,详见 FirstFramePlayState

onScreenVideoFramePlayStateChanged

屏幕共享流视频首帧播放状态发生改变时,收到此回调。

类型

((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

屏幕视频发布用户所在的房间 ID

user
是
无

远端用户信息,详见 RtcUser

state
是
无

首帧播放状态,详见 FirstFramePlayState

onAudioDeviceStateChanged

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

类型

((deviceID: string, deviceType: AudioDeviceType, deviceState: MediaDeviceState, deviceError: MediaDeviceError) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

设备类型,详见 AudioDeviceType。

deviceState
是
无

设备状态,详见 MediaDeviceState。

deviceError
是
无

设备错误类型,详见 MediaDeviceError。

onVideoDeviceStateChanged

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

类型

((deviceID: string, deviceType: VideoDeviceType, deviceState: MediaDeviceState, deviceError: MediaDeviceError) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

设备类型,详见 VideoDeviceType。

deviceState
是
无

设备状态,详见 MediaDeviceState。

deviceError
是
无

设备错误类型,详见 MediaDeviceError。

onAudioDeviceWarning

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

类型

((deviceID: string, deviceType: AudioDeviceType, deviceWarning: MediaDeviceWarning) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

参看 AudioDeviceType

deviceWarning
是
无

参看 MediaDeviceWarning

onVideoDeviceWarning

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

类型

((deviceID: string, deviceType: VideoDeviceType, deviceWarning: MediaDeviceWarning) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

参看 VideoDeviceType

deviceWarning
是
无

参看 MediaDeviceWarning

onRecordingStateUpdate

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

类型

((type: StreamIndex, state: RecordingState, errorCode: RecordingErrorCode, info: RecordingInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
type
是
无

录制流的流属性,参看 StreamIndex

state
是
无

录制状态,参看 RecordingState

errorCode
是
无

录制错误码,参看 RecordingErrorCode

info
是
无

录制文件的详细信息,参看 RecordingInfo

onRecordingProgressUpdate

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

类型

((type: StreamIndex, progress: RecordingProgress, info: RecordingInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
type
是
无

录制流的流属性,参看 StreamIndex

progress
是
无

录制进度,参看 RecordingProgress

info
是
无

录制文件的详细信息,参看 RecordingInfo

onAudioRecordingStateUpdate

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

类型

((state: AudioRecordingState, errorCode: AudioRecordingErrorCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
是
无

录制状态,参看 AudioRecordingState

errorCode
是
无

录制错误码,参看 AudioRecordingErrorCode

onAudioMixingPlayingProgress

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

类型

((mixId: number, progress: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
mixId
number
是
无

混音 ID

progress
number
是
无

当前混音音频文件播放进度,单位毫秒

onLocalAudioPropertiesReport

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

类型

((audioPropertiesInfos: Array<LocalAudioPropertiesInfo>) => void) | undefined

参数

名称
类型
必选
默认值
描述
audioPropertiesInfos
是
无

本地音频信息,详见 LocalAudioPropertiesInfo 。

onRemoteAudioPropertiesReport

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

类型

((audioPropertiesInfos: Array<RemoteAudioPropertiesInfo>, totalRemoteVolume: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
audioPropertiesInfos
是
无

远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。

totalRemoteVolume
number
是
无

订阅的所有远端流的总音量。

onActiveSpeaker

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

类型

((roomId: string, uid: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID

uid
string
是
无

最活跃用户(ActiveSpeaker)的用户 ID

onStreamSyncInfoReceived

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

类型

((streamKey: RemoteStreamKey, streamType: SyncInfoStreamType, data: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamKey
是
无

远端流信息,详见 RemoteStreamKey 。

streamType
SyncInfoStreamType
是
无

媒体流类型,详见 SyncInfoStreamType 。

data
ArrayBuffer
是
无

消息内容。

onPushPublicStreamResult

WTN 流发布结果回调。
调用 startPushPublicStream 接口发布 WTN 流后,启动结果通过此回调方法通知用户。

类型

((roomId: string, publicStreamId: string, error: PublicStreamErrorCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

发布 WTN 流的房间 ID

publicStreamId
string
是
无

WTN 流 ID

error
是
无

WTN 流发布结果状态码。详见 PublicStreamErrorCode。

onPlayPublicStreamResult

订阅 WTN 流的结果回调
调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到启动结果和拉流过程中的错误。

类型

((publicStreamId: string, error: PublicStreamErrorCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
publicStreamId
string
是
无

WTN 流 ID。

error
是
无

WTN 流订阅结果状态码。详见 PublicStreamErrorCode。

onPublicStreamSEIMessageReceived

回调 WTN 流中包含的 SEI 信息。
调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。

类型

((publicStreamId: string, message: ByteBuffer, sourceType: DataMessageSourceType) => void) | undefined

参数

名称
类型
必选
默认值
描述
publicStreamId
string
是
无

WTN 流 ID。

message
ArrayBuffer
是
无

收到的 SEI 消息内容。
通过调用客户端 sendSEIMessage 插入的 SEI 信息。
当 WTN 流中的多路视频流均包含有 SEI 信息:SEI 不互相冲突时,将通过多次回调分别发送;SEI 在同一帧有冲突时,则只有一条流中的 SEI 信息被透传并融合到 WTN 流中。

sourceType
是
无

SEI 消息类型,自 3.52.1 版本后固定为 0,自定义消息。参看 DataMessageSourceType。

onPublicStreamDataMessageReceived

回调 WTN 流中包含的数据信息。
调用 startPlayPublicStream 订阅 WTN 流后,通过监听本回调获取 WTN 流中的数据消息,包括调用 Open API 发送的 SEI 消息和音量回调。

类型

((publicStreamId: string, message: ByteBuffer, sourceType: DataMessageSourceType) => void) | undefined

参数

名称
类型
必选
默认值
描述
publicStreamId
string
是
无

WTN 流 ID。

message
ArrayBuffer
是
无

收到的数据消息内容,如下:

  • 调用 WTN 流 OpenAPI 发送的自定义消息。
  • 媒体流音量变化,需要通过 WTN 流 OpenAPI 开启回调。JSON 格式说明如下:
{ "Type" : "VolumeIndication", //具体业务类型 "VolumeInfos"[                 // 业务类型对应信息 { "RoomId":"1000001", // 房间 ID "UserId":"1000001", // 用户 ID "StreamType":0, // 0:摄像头流;1:屏幕流 "LinearVolume":1 // 线性音量大小 } ] }
sourceType
是
无

数据消息来源,参看 DataMessageSourceType。

onFirstPublicStreamVideoFrameDecoded

WTN 流的首帧视频解码成功
关于订阅 WTN 流,详见 startPlayPublicStream。

类型

((publicStreamId: string, videoFrameInfo: VideoFrameInfo) => void) | undefined

参数

名称
类型
必选
默认值
描述
publicStreamId
string
是
无

WTN 流 ID

videoFrameInfo
是
无

视频帧信息,参看 VideoFrameInfo

onFirstPublicStreamAudioFrame

WTN 流的音频首帧解码成功
关于订阅 WTN 流,详见 startPlayPublicStream。

类型

((publicStreamId: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
publicStreamId
string
是
无

WTN 流 ID

onEchoTestResult

关于音视频回路测试结果的回调。

类型

((result: EchoTestResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
result
是
无

测试结果,参看 EchoTestResult

onCloudProxyConnected

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

类型

((interval: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
interval
number
是
无

从开启云代理到连接成功经过的时间,单位为 ms

onHardwareEchoDetectionResult

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

类型

((hardwareEchoDetectionResult: HardwareEchoDetectionResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
hardwareEchoDetectionResult
是
无

参见 HardwareEchoDetectionResult

onLocalProxyStateChanged

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

类型

((localProxyType: LocalProxyType, localProxyState: LocalProxyState, localProxyError: LocalProxyError) => void) | undefined

参数

名称
类型
必选
默认值
描述
localProxyType
是
无

本地代理类型。参看 LocalProxyType 。

localProxyState
是
无

本地代理状态。参看 LocalProxyState。

localProxyError
是
无

本地代理错误。参看 LocalProxyError。

onUserMuteAudio

房间内用户暂停/恢复发送音频流时,房间内其他用户会收到此回调。

注意

since 3.36 and will be deleted in 3.51, use onUserPublishStream, onUserPublishScreen, onUserUnpublishStream and onUserUnpublishScreen instead.

类型

((roomId: string, uid: string, muteState: MuteState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID

uid
string
是
无

改变本地音频发送状态的用户 ID

muteState
是
无

发送状态,参看 MuteState

onUserMuteVideo

房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。

注意

since 3.36 and will be deleted in 3.51, use onUserPublishStream, onUserPublishScreen, onUserUnpublishStream and onUserUnpublishScreen instead.

类型

((roomId: string, uid: string, muteState: MuteState) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID

uid
string
是
无

暂停/恢复发送视频流的用户 ID。

muteState
是
无

视频流的发送状态。参看 MuteState。

onAudioPlaybackDeviceChanged

音频播放设备变化时,收到该回调。

注意

since 3.38 and will be deleted in 3.51, use onAudioRouteChanged instead.

类型

((device: AudioPlaybackDevice) => void) | undefined

参数

名称
类型
必选
默认值
描述
device
是
无

新的音频设备,详见 AudioPlaybackDevice

onMediaDeviceStateChanged

媒体设备状态回调。提示音频采集、音频播放、摄像头视频采集、屏幕视频采集四种媒体设备的状态。

注意

since 3.37 and will be deleted in 3.51, using onAudioDeviceStateChanged and onVideoDeviceStateChanged instead.

类型

((deviceID: string, deviceType: MediaDeviceType, deviceState: MediaDeviceState, deviceError: MediaDeviceError) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

设备类型,详见 MediaDeviceType。

deviceState
是
无

设备状态,详见 MediaDeviceState。

deviceError
是
无

设备错误类型,详见 MediaDeviceError。

onMediaDeviceWarning

媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。

注意

since 3.37 and will be deleted in 3.51, using onAudioDeviceWarning and onVideoDeviceWarning instead.

类型

((deviceID: string, deviceType: MediaDeviceType, deviceWarning: MediaDeviceWarning) => void) | undefined

参数

名称
类型
必选
默认值
描述
deviceID
string
是
无

设备 ID

deviceType
是
无

参看 MediaDeviceType

deviceWarning
是
无

参看 MediaDeviceWarning

onHttpProxyState

HTTP 代理连接状态改变时,收到该回调。

注意

since 3.52, will be deleted at 3.57, use onLocalProxyStateChanged instead

类型

((state: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
number
是
无

当前 HTTP 代理连接状态

onHttpsProxyState

HTTPS 代理连接状态改变时,收到该回调。

注意

since 3.52, will be deleted at 3.57, use onLocalProxyStateChanged instead

类型

((state: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
number
是
无

当前 HTTPS 代理连接状态

onSocks5ProxyState

SOCKS5 代理状态改变时,收到该回调。

注意

since 3.52, will be deleted at 3.57, use onLocalProxyStateChanged instead

类型

((state: number, cmd: string, proxyAddress: string, localAddress: string, remoteAddress: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
number
是
无

SOCKS5 代理连接状态

cmd
string
是
无

代理连接的每一步操作命令

proxyAddress
string
是
无

代理地址信息

localAddress
string
是
无

当前连接使用的本地地址

remoteAddress
string
是
无

远端的连接地址

onAudioMixingStateChanged

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

类型

((mixId: number, state: AudioMixingState, error: AudioMixingError) => void) | undefined

参数

名称
类型
必选
默认值
描述
mixId
number
是
无

混音 ID
使用 IAudioMixingManager 相关接口时传入的唯一 ID。

state
是
无

混音状态
其混音状态可参考。

error
是
无

错误码
详见 AudioMixingError。

IAudioFrameObserver

类型:interface

音频数据回调观察者
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
本接口类中的回调周期均为 20 ms。

onRecordAudioFrame

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

类型

((audioFrame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
audioFrame
是
无

音频数据, 参看 IAudioFrame。

onPlaybackAudioFrame

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

类型

((audioFrame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
audioFrame
是
无

音频数据, 参看 IAudioFrame。

onRemoteUserAudioFrame

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

类型

((streamKey: RemoteStreamKey, audioFrame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamKey
是
无

远端流信息,参看 RemoteStreamKey。

audioFrame
是
无

音频数据,参看 IAudioFrame。

onMixedAudioFrame

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

类型

((audioFrame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
audioFrame
是
无

音频数据, 参看 IAudioFrame。

IAudioFrameProcessor

类型:interface

自定义音频处理器。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

ILocalEncodedVideoFrameObserver

类型:interface

本地视频帧监测器
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onLocalEncodedVideoFrame

调用 registerLocalEncodedVideoFrameObserver 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。

类型

((streamIndex: StreamIndex, encodedVideoFrame: RTCEncodedVideoFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

本地视频帧类型,参看 StreamIndex

encodedVideoFrame
是
无

本地视频帧信息,参看 RTCEncodedVideoFrame

IRemoteEncodedVideoFrameObserver

类型:interface

远端编码后视频数据监测器
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onRemoteEncodedVideoFrame

调用 registerRemoteEncodedVideoFrameObserver 后,SDK 监测到远端编码后视频数据时,触发该回调

类型

((streamKey: RemoteStreamKey, encodedVideoFrame: RTCEncodedVideoFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamKey
是
无

收到的远端流信息,参看 RemoteStreamKey

encodedVideoFrame
是
无

收到的远端视频帧信息,参看 RTCEncodedVideoFrame

IMixedStreamObserver

类型:interface

转推直播观察者。

onMixingEvent

转推直播状态回调

类型

((eventType: ByteRTCStreamMixingEvent, taskId: string, error: RTCStreamMixingErrorCode, mixType: MixedStreamType) => void) | undefined

参数

名称
类型
必选
默认值
描述
eventType
是
无

转推直播任务状态, 参看 ByteRTCStreamMixingEvent

taskId
string
是
无

转推直播任务 ID

error
是
无

转推直播错误码,参看 ByteRTCTranscoderErrorCode

mixType
是
无

转推直播类型,参看 MixedStreamType

IPushSingleStreamToCDNObserver

类型:interface

单流转推直播观察者。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onStreamPushEvent

单流转推直播状态回调

类型

((eventType: RTCStreamSinglePushEvent, taskId: string, error: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
eventType
是
无

任务状态, 参看 ByteRTCStreamSinglePushEvent

taskId
string
是
无

任务 ID

error
number
是
无

错误码,参看 ByteRTCTranscoderErrorCode

RTCRoomEventHandler

类型:interface

房间事件回调接口
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onLeaveRoom

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

类型

((stats: RTCRoomStats) => void) | undefined

参数

名称
类型
必选
默认值
描述
stats
是
无

保留参数,目前为空。

onRoomStateChanged

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

类型

((roomId: string, uid: string, state: number, extraInfo: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID。

uid
string
是
无

用户 ID。

state
number
是
无

房间状态码。

  • 0: 加入房间成功。
  • !0: 加入房间失败、异常退房、发生房间相关的警告或错误。具体原因参看 ErrorCode 及 WarningCode。
extraInfo
string
是
无

额外信息,如 {"elapsed":1187,"join_type":0}。
join_type 表示加入房间的类型,0为首次进房,1为重连进房。
elapsed 表示加入房间耗时,即本地用户从调用 joinRoom 到加入房间成功所经历的时间间隔,单位为 ms。

onStreamStateChanged

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

类型

((roomId: string, uid: string, state: number, extraInfo: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
roomId
string
是
无

房间 ID。

uid
string
是
无

用户 ID。

state
number
是
无

流状态码,参看 ErrorCode 及 WarningCode。

extraInfo
string
是
无

附加信息,目前为空。

onAVSyncStateChange

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

类型

((state: AVSyncState) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
是
无

音视频同步状态,参看 AVSyncState。

onRoomStats

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

类型

((stats: RTCRoomStats) => void) | undefined

参数

名称
类型
必选
默认值
描述
stats
是
无

房间内的汇总统计数据。详见 RTCRoomStats。

onUserJoined

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

类型

((userInfo: UserInfo, elapsed: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
userInfo
是
无

用户信息。参看 UserInfo。

elapsed
number
是
无

保留字段,无意义。

onUserLeave

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

类型

((uid: string, reason: RTCUserOfflineReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

离开房间,或切至不可见的远端用户 ID。

reason
是
无

用户离开房间的原因:

  • 0: 远端用户调用 leaveRoom 主动退出房间。
- 1: 远端用户因 Token 过期或网络原因等掉线。详细信息请参看[连接状态提示](https://www.volcengine.com/docs/6348/95376)
  • 2: 远端用户调用 setUserVisibility 切换至不可见状态。
  • 3: 服务端调用 OpenAPI 将该远端用户踢出房间。

onTokenWillExpire

Token 进房权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 进房权限。

类型

(() => void) | undefined

onPublishPrivilegeTokenWillExpire

Token 发布权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 发布权限。

类型

(() => void) | undefined

onSubscribePrivilegeTokenWillExpire

Token 订阅权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 订阅权限有效期。

类型

(() => void) | undefined

onUserPublishStream

房间内新增远端摄像头/麦克风采集的媒体流的回调。

类型

((uid: string, type: MediaStreamType) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

远端流发布用户的用户 ID。

type
是
无

远端媒体流的类型,参看 MediaStreamType。

onUserUnpublishStream

房间内远端摄像头/麦克风采集的媒体流移除的回调。

类型

((uid: string, type: MediaStreamType, reason: StreamRemoveReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

移除的远端流发布用户的用户 ID。

type
是
无

移除的远端流类型,参看 MediaStreamType。

reason
是
无

远端流移除的原因,参看 StreamRemoveReason。

onUserPublishScreen

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

类型

((uid: string, type: MediaStreamType) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

远端流发布用户的用户 ID。

type
是
无

远端媒体流的类型,参看 MediaStreamType。

onUserUnpublishScreen

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

类型

((uid: string, type: MediaStreamType, reason: StreamRemoveReason) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

移除的远端流发布用户的用户 ID。

type
是
无

移除的远端流类型,参看 MediaStreamType。

reason
是
无

远端流移除的原因,参看 StreamRemoveReason。

onLocalStreamStats

本地流数据统计以及网络质量回调。
本地用户发布流成功后,SDK 会周期性(2s)地通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。
统计信息通过 LocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。

类型

((stats: LocalStreamStats) => void) | undefined

参数

名称
类型
必选
默认值
描述
stats
是
无

音视频流以及网络状况统计信息。参见 LocalStreamStats。

onRemoteStreamStats

本地订阅的远端音/视频流数据统计以及网络质量回调。
本地用户订阅流成功后,SDK 会周期性(2s)地通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。

类型

((stats: RemoteStreamStats) => void) | undefined

参数

名称
类型
必选
默认值
描述
stats
是
无

音视频流以及网络状况统计信息。参见 RemoteStreamStats。

onStreamSubscribed

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

类型

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

参数

名称
类型
必选
默认值
描述
stateCode
是
无

订阅媒体流状态,参看 SubscribeState

userId
string
是
无

流发布用户的用户 ID

info
是
无

流的属性,参看 SubscribeConfig

onRoomMessageReceived

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

类型

((uid: string, message: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者 ID

message
string
是
无

收到的消息内容

onRoomBinaryMessageReceived

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

类型

((uid: string, message: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者 ID

message
ArrayBuffer
是
无

收到的二进制消息内容

onUserMessageReceived

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

类型

((uid: string, message: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者的用户 ID 。

message
string
是
无

收到的文本消息内容。

onUserBinaryMessageReceived

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

类型

((uid: string, message: ByteBuffer) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

消息发送者的用户 ID 。

message
ArrayBuffer
是
无

收到的二进制消息内容。

onUserMessageSendResult

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

类型

((msgid: number, error: UserMessageSendResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
msgid
number
是
无

本条消息的 ID。

error
是
无

文本或二进制消息发送结果,详见 UserMessageSendResult

onRoomMessageSendResult

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

类型

((msgid: number, error: RoomMessageSendResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
msgid
number
是
无

本条消息的 ID。

error
是
无

消息发送结果,详见 RoomMessageSendResult

onVideoStreamBanned

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

类型

((uid: string, banned: boolean) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

被禁用/解禁的视频流用户 ID

banned
boolean
是
无

视频流发送状态

  • true: 视频流发送被禁用
  • false: 视频流发送被解禁

onAudioStreamBanned

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

类型

((uid: string, banned: boolean) => void) | undefined

参数

名称
类型
必选
默认值
描述
uid
string
是
无

被禁用/解禁的音频流用户 ID

banned
boolean
是
无

音频流发送状态

  • true: 音频流发送被禁用
  • false: 音频流发送被解禁

onForwardStreamStateChanged

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

类型

((stateInfos: Array<ForwardStreamStateInfo>) => void) | undefined

参数

名称
类型
必选
默认值
描述
stateInfos
是
无

跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo

onForwardStreamEvent

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

类型

((eventInfos: Array<ForwardStreamEventInfo>) => void) | undefined

参数

名称
类型
必选
默认值
描述
eventInfos
是
无

跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo

onNetworkQuality

加入房间并发布或订阅流后, 以每 2 秒一次的频率,报告本地用户和已订阅的远端用户的上下行网络质量信息。

类型

((localQuality: NetworkQualityStats, remoteQualities: Array<NetworkQualityStats>) => void) | undefined

参数

名称
类型
必选
默认值
描述
localQuality
是
无

本地网络质量,详见 NetworkQualityStats。

remoteQualities
是
无

已订阅用户的网络质量,详见 NetworkQualityStats。

onSetRoomExtraInfoResult

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

类型

((taskId: number, error: SetRoomExtraInfoResult) => void) | undefined

参数

名称
类型
必选
默认值
描述
taskId
number
是
无

调用 setRoomExtraInfo 的任务编号。

error
是
无

设置房间附加信息的结果,详见 SetRoomExtraInfoResult

onRoomExtraInfoUpdate

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

类型

((key: string, value: string, lastUpdateUserId: string, lastUpdateTimeMs: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
key
string
是
无

房间附加信息的键值

value
string
是
无

房间附加信息的内容

lastUpdateUserId
string
是
无

最后更新本条信息的用户 ID。

lastUpdateTimeMs
number
是
无

最后更新本条信息的 Unix 时间,单位:毫秒。

onUserVisibilityChanged

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

类型

((currentUserVisibility: boolean, errorCode: UserVisibilityChangeError) => void) | undefined

参数

名称
类型
必选
默认值
描述
currentUserVisibility
boolean
是
无

当前用户的可见性。

  • true: 可见,用户可以在房间内发布音视频流,房间中的其他用户将收到用户的行为通知,例如进房、开启视频采集和退房。
  • false: 不可见,用户不可以在房间内发布音视频流,房间中的其他用户不会收到用户的行为通知,例如进房、开启视频采集和退房。
errorCode
是
无

设置用户可见性错误码,参看 UserVisibilityChangeError。

onSubtitleStateChanged

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

类型

((state: SubtitleState, errorCode: SubtitleErrorCode, errorMessage: string) => void) | undefined

参数

名称
类型
必选
默认值
描述
state
是
无

字幕状态。参看 SubtitleState。

errorCode
是
无

字幕任务错误码。参看 SubtitleErrorCode。

errorMessage
string
是
无

与第三方服务有关的错误信息。

onSubtitleMessageReceived

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

类型

((subtitles: Array<SubtitleMessage>) => void) | undefined

参数

名称
类型
必选
默认值
描述
subtitles
是
无

字幕消息内容。参看 SubtitleMessage。

onRoomWarning

发生警告回调。

注意

since 3.41 and will be deleted in 3.51, use onRoomStateChanged and onStreamStateChanged instead.

类型

((warn: WarningCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
warn
是
无

警告代码,参见 WarningCode

onRoomError

发生错误回调。

注意

since 3.41 and will be deleted in 3.51, use onRoomStateChanged and onStreamStateChanged instead.

类型

((err: ErrorCode) => void) | undefined

参数

名称
类型
必选
默认值
描述
err
是
无

错误代码,详情定义见: ErrorCode

onStreamAdd

房间内新流发布回调。
房间内的远端用户发布新的音视频流时,本地用户会收到此回调通知。

注意

since 3.36 and will be deleted in 3.51, use onUserPublishStream and onUserPublishScreen instead.

类型

((stream: RTCStream) => void) | undefined

参数

名称
类型
必选
默认值
描述
stream
是
无

流的属性,详见 RTCStream 数据类型。

IAudioEffectPlayerEventHandler

类型:interface

IAudioEffectPlayer 对应的回调句柄。你必须调用 setEventHandler 完成设置后,才能收到对应回调。

onAudioEffectPlayerStateChanged

播放状态改变时回调。

类型

((effectId: number, state: PlayerState, error: PlayerError) => void) | undefined

参数

名称
类型
必选
默认值
描述
effectId
number
是
无

IAudioEffectPlayer 的 ID。通过 getAudioEffectPlayer 设置。

state
是
无

混音状态。参考 PlayerState。

error
是
无

错误码。参考 PlayerError。

IMediaPlayerAudioFrameObserver

类型:interface

本地音频文件混音的音频帧观察者。

onFrame

当本地音频文件混音时,回调播放的音频帧。

类型

((playerId: number, frame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
playerId
number
是
无
-
frame
是
无

参看 IAudioFrame。

IMediaPlayerEventHandler

类型:interface

IMediaPlayer 对应的回调句柄。你必须调用 setEventHandler 完成设置后,才能收到对应回调。

onMediaPlayerStateChanged

播放状态改变时回调。

类型

((playerId: number, state: PlayerState, error: PlayerError) => void) | undefined

参数

名称
类型
必选
默认值
描述
playerId
number
是
无

IMediaPlayer 的 ID。通过 getMediaPlayer 设置。

state
是
无

混音状态。参考 PlayerState。

error
是
无

错误码。参考 PlayerError。

onMediaPlayerPlayingProgress

播放进度周期性回调。回调周期通过 setProgressInterval 设置。

类型

((playerId: number, progress: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
playerId
number
是
无

IMediaPlayer 的 ID。通过 getMediaPlayer 设置。

progress
number
是
无

进度。单位 ms。

IExternalVideoEncoderEventHandler

类型:interface

自定义编码帧回调类
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onStart

提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 pushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧

类型

((index: StreamIndex) => void) | undefined

参数

名称
类型
必选
默认值
描述
index
是
无

可以推送的编码流的属性,参看 StreamIndex

onStop

当收到该回调时,你需停止向 SDK 推送自定义编码视频帧

类型

((index: StreamIndex) => void) | undefined

参数

名称
类型
必选
默认值
描述
index
是
无

需停止推送的编码流的属性,参看 StreamIndex

onRateUpdate

当自定义编码流的帧率或码率发生变化时,触发该回调

类型

((streamIndex: StreamIndex, videoIndex: number, fps: number, bitrateKbps: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

发生变化的编码流的属性,参看 StreamIndex

videoIndex
number
是
无

对应编码流的下标

fps
number
是
无

变化后的帧率,单位:fps

bitrateKbps
number
是
无

变化后的码率,单位:kbps

onRequestKeyFrame

提示流发布端需重新生成关键帧的回调

类型

((streamIndex: StreamIndex, videoIndex: number) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

远端编码流的属性,参看 StreamIndex

videoIndex
number
是
无

对应编码流的下标

onActiveVideoLayer

作为自定义编码视频流的发送端,你会在视频流可发送状态发生变化时,收到此回调。
你可以根据此回调的提示,仅对可发送的视频流进行编码,以降低本端视频编码性能消耗。此回调会根据多个因素综合判断触发,包括:本端设备性能和本端网络性能,以及按需订阅场景下,远端用户是否订阅。

类型

((streamIndex: StreamIndex, videoIndex: number, active: boolean) => void) | undefined

参数

名称
类型
必选
默认值
描述
streamIndex
是
无

远端编码流的属性,参看 StreamIndex

videoIndex
number
是
无

对应编码流的下标

active
boolean
是
无

该路流可发送状态

IAudioFileFrameObserver

类型:interface

本地音频文件混音的音频帧观察者。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。

onAudioFileFrame

当本地音频文件混音时,回调播放的音频帧。

类型

((mixID: number, audioFrame: IAudioFrame) => void) | undefined

参数

名称
类型
必选
默认值
描述
mixID
number
是
无

混音 ID。

audioFrame
是
无

参看 IAudioFrame。

IMediaPlayerCustomSourceProvider

类型:interface

内存播放数据源回调

最近更新时间:2026.09.21 16:24:30
这个页面对您有帮助吗?
有用
有用
无用
无用