类型:interface
人脸检测结果回调观察者
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
特效 SDK 进行人脸检测结果的回调。
调用 enableFaceDetection 注册了 IFaceDetectionObserver,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。
类型
((result: FaceDetectionResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
result | 是 | 无 | 人脸检测结果, 参看 FaceDetectionResult。 |
类型:interface
音视频引擎事件回调接口
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
发生警告回调。
SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。
类型
((warn: WarningCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
warn | 是 | 无 | 警告代码,参见 WarningCode |
发生错误回调。
SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。
你可能需要干预。
类型
((err: ErrorCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
err | 是 | 无 | 错误代码,详情定义见: ErrorCode |
当访问插件失败时,收到此回调。
RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。
类型
((extensionName: string, msg: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
extensionName | string | 是 | 无 | 插件名字 |
msg | string | 是 | 无 | 失败说明 |
每 2 秒发生回调,通知当前 cpu,内存使用的信息。
类型
((stats: SysStats) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stats | 是 | 无 | cpu,内存信息。详见 SysStats 数据类型。 |
SDK 当前网络连接类型改变回调。当 SDK 的当前网络连接类型发生改变时回调该事件。
类型
((type: RTCNetworkType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
type | 是 | 无 | 网络类型。
|
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此回调。
类型
((roomId: string, uid: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 开启视频采集的远端用户所在的房间 ID |
uid | string | 是 | 无 | 开启视频采集的远端用户 ID |
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。
若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。
类型
((roomId: string, uid: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 关闭视频采集的远端用户所在的房间 ID |
uid | string | 是 | 无 | 关闭视频采集的远端用户 ID |
创建房间失败回调。
类型
((roomId: string, errorCode: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 房间 ID。 |
errorCode | number | 是 | 无 | 创建房间错误码,具体原因参看 ErrorCode。 |
房间内的用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此回调。
类型
((roomId: string, uid: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 开启音频采集的远端用户所在的房间 ID |
uid | string | 是 | 无 | 开启音频采集的远端用户 ID |
房间内的用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此回调。
类型
((roomId: string, uid: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 关闭音频采集的远端用户所在的房间 ID |
uid | string | 是 | 无 | 关闭音频采集的远端用户 ID |
本地音频流的状态发生改变时,收到此回调。
类型
((state: LocalAudioStreamState, error: LocalAudioStreamError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | 是 | 无 | 本地音频设备的状态,详见 LocalAudioStreamState | |
error | 是 | 无 | 本地音频流状态改变时的错误码,详见 LocalAudioStreamError |
用户订阅来自远端的音频流状态发生改变时,会收到此回调,了解当前的远端音频流状态。
类型
((key: RemoteStreamKey, state: RemoteAudioState, reason: RemoteAudioStateChangeReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
key | 是 | 无 | 远端流信息, 详见 RemoteStreamKey | |
state | 是 | 无 | 远端音频流状态,详见 RemoteAudioState | |
reason | 是 | 无 | 远端音频流状态改变的原因,详见 RemoteAudioStateChangeReason |
本地视频流的状态发生改变时,收到该事件。
类型
((streamIndex: StreamIndex, state: LocalVideoStreamState, error: LocalVideoStreamError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 流属性,参看 StreamIndex | |
state | 是 | 无 | 本地视频流状态,参看 LocalVideoStreamState | |
error | 是 | 无 | 本地视频状态改变时的错误码,参看 LocalVideoStreamError |
远端视频流的状态发生改变时,房间内订阅此流的用户会收到该事件。
类型
((streamKey: RemoteStreamKey, videoState: RemoteVideoState, videoStateReason: RemoteVideoStateChangeReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamKey | 是 | 无 | 远端视频流信息,房间、用户 ID、流属性等,参看 RemoteStreamKey | |
videoState | 是 | 无 | 远端视频流状态,参看 RemoteVideoState | |
videoStateReason | 是 | 无 | 远端视频流状态改变原因,参看 RemoteVideoStateChangeReason |
SDK 内部渲染成功远端视频流首帧后,收到此回调。
类型
((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 远端流信息,参看 RemoteStreamKey | |
frameInfo | 是 | 无 | 视频帧信息,参看 VideoFrameInfo |
SDK 接收并解码远端视频流首帧后,收到此回调。
类型
((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 远端流信息,参看 RemoteStreamKey | |
frameInfo | 是 | 无 | 视频帧信息,参看 VideoFrameInfo |
RTC SDK 在本地完成第一帧视频帧或屏幕视频帧采集时,收到此回调。
类型
((streamIndex: StreamIndex, frameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 流属性,参看 StreamIndex | |
frameInfo | 是 | 无 | 视频信息,参看 VideoFrameInfo |
本地预览视频大小或旋转信息发生改变时,收到此回调。
类型
((streamIndex: StreamIndex, frameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 流属性,参看 StreamIndex | |
frameInfo | 是 | 无 | 视频帧信息,参看 VideoFrameInfo |
远端视频大小或旋转信息发生改变时,房间内订阅此视频流的用户会收到此回调。
类型
((remoteStreamKey: RemoteStreamKey, frameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 远端流信息,参看 RemoteStreamKey。 | |
frameInfo | 是 | 无 | 视频帧信息,参看 VideoFrameInfo |
回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
类型
((state: ConnectionState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | 是 | 无 | 当前 SDK 与信令服务器连接状态。 详细定义参见 ConnectionState |
音频播放路由变化时,收到该回调。
类型
((route: AudioRoute) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
route | 是 | 无 | 新的音频播放路由,详见 AudioRoute |
发布音频流时,采集到第一帧音频帧,收到该回调。
类型
((streamIndex: StreamIndex) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 音频流属性, 详见 StreamIndex |
接收到来自远端某音频流的第一帧时,收到该回调。
类型
((remoteStreamKey: RemoteStreamKey) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 远端音频流信息, 详见 RemoteStreamKey |
收到通过调用 sendSEIMessage 发送带有 SEI 消息的视频帧时,收到此回调。
类型
((remoteStreamKey: RemoteStreamKey, message: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey | |
message | ArrayBuffer | 是 | 无 | 收到的 SEI 消息内容 |
黑帧视频流发布状态回调。
在语音通话场景下,本地用户调用 sendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过该回调通知远端用户。
你可以通过此回调判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。
类型
((remoteStreamKey: RemoteStreamKey, event: SEIStreamUpdateEventType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
remoteStreamKey | 是 | 无 | 远端流信息,参看 RemoteStreamKey。 | |
event | 是 | 无 | 黑帧视频流状态,参看 SEIStreamUpdateEvent |
登录结果回调
类型
((uid: string, errorCode: LoginErrorCode, elapsed: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 登录用户 ID |
errorCode | 是 | 无 | 登录结果 | |
elapsed | number | 是 | 无 | 从调用 login 接口开始到返回结果所用时长。 |
登出结果回调
类型
((reason: LogoutReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
reason | 是 | 无 | 用户登出的原因,参看 LogoutReason |
设置应用服务器参数的返回结果
类型
((error: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
error | number | 是 | 无 | 设置结果
|
查询对端或本端用户登录状态的返回结果
类型
((peerUserId: string, status: UserOnlineStatus) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
peerUserId | string | 是 | 无 | 需要查询的用户 ID |
status | 是 | 无 | 查询的用户登录状态 |
收到房间外用户调用 sendUserMessageOutsideRoom 发来的文本消息时,会收到此回调
类型
((uid: string, message: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者 ID |
message | string | 是 | 无 | 收到的文本消息内容 |
收到房间外用户调用 sendUserBinaryMessageOutsideRoom 发来的二进制消息时,会收到此回调
类型
((uid: string, message: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者 ID |
message | ArrayBuffer | 是 | 无 | 收到的二进制消息内容 |
给房间外指定的用户发送消息的回调
类型
((msgid: number, error: UserMessageSendResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
msgid | number | 是 | 无 | 本条消息的 ID |
error | 是 | 无 | 消息发送结果 |
给应用服务器发送消息的回调。
类型
((msgid: number, error: UserMessageSendResult, message: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
msgid | number | 是 | 无 | 本条消息的 ID |
error | 是 | 无 | 消息发送结果,详见 UserMessageSendResult。 | |
message | ArrayBuffer | 是 | 无 | 应用服务器收到 HTTP 请求后,在 ACK 中返回的信息。消息不超过 64 KB。 |
通话前网络探测结果。
成功调用 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 |
通话前网络探测结束
以下情况将停止探测并收到一次本回调:
类型
((reason: NetworkDetectionStopReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
reason | 是 | 无 | 停止探测的原因类型,参考 NetworkDetectionStopReason |
音视频流因网络环境变化等原因发生回退,或从回退中恢复时,触发该回调。
类型
((event: RemoteStreamSwitchEvent) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
event | 是 | 无 | 音视频流发生变化的信息。参看 RemoteStreamSwitch。 |
本地未通过 setPublishFallbackOption 开启发布性能回退,检测到设备性能不足时,收到此回调。
本地通过 setPublishFallbackOption 开启发布性能回退,因设备性能/网络原因,造成发布性能回退/恢复时,收到此回调。
类型
((mode: PerformanceAlarmMode, roomId: string, reason: PerformanceAlarmReason, data: SourceWantedData) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
mode | 是 | 无 | 指示本地是否开启发布回退功能。参看 PerformanceAlarmMode
| |
roomId | string | 是 | 无 |
|
reason | 是 | 无 | 告警原因,参看 PerformanceAlarmReason | |
data | 是 | 无 | 性能回退相关数据,详见 SourceWantedData。 |
本地音频首帧发送状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 音频发布用户所在的房间 ID |
user | 是 | 无 | 本地用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧发送状态,详见 FirstFrameSendState |
本地视频首帧发送状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 视频发布用户所在的房间 ID |
user | 是 | 无 | 本地用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧发送状态,详见 FirstFrameSendState |
屏幕共享流的视频首帧发送状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFrameSendState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 屏幕视频发布用户所在的房间 ID |
user | 是 | 无 | 本地用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧发送状态,详见 FirstFrameSendState |
音频首帧播放状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 音频发布用户所在的房间 ID |
user | 是 | 无 | 远端用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧播放状态,详见 FirstFramePlayState |
视频首帧播放状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 视频发布用户所在的房间 ID |
user | 是 | 无 | 远端用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧播放状态,详见 FirstFramePlayState |
屏幕共享流视频首帧播放状态发生改变时,收到此回调。
类型
((roomId: string, user: RTCUser, state: FirstFramePlayState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 屏幕视频发布用户所在的房间 ID |
user | 是 | 无 | 远端用户信息,详见 RtcUser | |
state | 是 | 无 | 首帧播放状态,详见 FirstFramePlayState |
音频设备状态回调。提示音频采集、音频播放等媒体设备的状态。
类型
((deviceID: string, deviceType: AudioDeviceType, deviceState: MediaDeviceState, deviceError: MediaDeviceError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
deviceID | string | 是 | 无 | 设备 ID |
deviceType | 是 | 无 | 设备类型,详见 AudioDeviceType。 | |
deviceState | 是 | 无 | 设备状态,详见 MediaDeviceState。 | |
deviceError | 是 | 无 | 设备错误类型,详见 MediaDeviceError。 |
视频设备状态回调。提示摄像头视频采集、屏幕视频采集等媒体设备的状态。
类型
((deviceID: string, deviceType: VideoDeviceType, deviceState: MediaDeviceState, deviceError: MediaDeviceError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
deviceID | string | 是 | 无 | 设备 ID |
deviceType | 是 | 无 | 设备类型,详见 VideoDeviceType。 | |
deviceState | 是 | 无 | 设备状态,详见 MediaDeviceState。 | |
deviceError | 是 | 无 | 设备错误类型,详见 MediaDeviceError。 |
音频设备警告回调。音频设备包括音频采集设备、音频渲染设备等。
类型
((deviceID: string, deviceType: AudioDeviceType, deviceWarning: MediaDeviceWarning) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
deviceID | string | 是 | 无 | 设备 ID |
deviceType | 是 | 无 | 参看 AudioDeviceType | |
deviceWarning | 是 | 无 | 参看 MediaDeviceWarning |
视频设备警告回调,包括视频采集等设备。
类型
((deviceID: string, deviceType: VideoDeviceType, deviceWarning: MediaDeviceWarning) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
deviceID | string | 是 | 无 | 设备 ID |
deviceType | 是 | 无 | 参看 VideoDeviceType | |
deviceWarning | 是 | 无 | 参看 MediaDeviceWarning |
获取本地录制状态回调。
该回调由 startFileRecording 或 stopFileRecording 触发。
类型
((type: StreamIndex, state: RecordingState, errorCode: RecordingErrorCode, info: RecordingInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
type | 是 | 无 | 录制流的流属性,参看 StreamIndex | |
state | 是 | 无 | 录制状态,参看 RecordingState | |
errorCode | 是 | 无 | 录制错误码,参看 RecordingErrorCode | |
info | 是 | 无 | 录制文件的详细信息,参看 RecordingInfo |
本地录制进度回调。
该回调由 startFileRecording 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。
类型
((type: StreamIndex, progress: RecordingProgress, info: RecordingInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
type | 是 | 无 | 录制流的流属性,参看 StreamIndex | |
progress | 是 | 无 | 录制进度,参看 RecordingProgress | |
info | 是 | 无 | 录制文件的详细信息,参看 RecordingInfo |
调用 startAudioRecording 或 stopAudioRecording 改变音频文件录制状态时,收到此回调。
类型
((state: AudioRecordingState, errorCode: AudioRecordingErrorCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | 是 | 无 | 录制状态,参看 AudioRecordingState | |
errorCode | 是 | 无 | 录制错误码,参看 AudioRecordingErrorCode |
混音音频文件播放进度回调
类型
((mixId: number, progress: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
mixId | number | 是 | 无 | 混音 ID |
progress | number | 是 | 无 | 当前混音音频文件播放进度,单位毫秒 |
调用 enableAudioPropertiesReport 后,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频,屏幕音频和本地混音音频信息。
类型
((audioPropertiesInfos: Array<LocalAudioPropertiesInfo>) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
audioPropertiesInfos | 是 | 无 | 本地音频信息,详见 LocalAudioPropertiesInfo 。 |
远端用户进房后,本地调用 enableAudioPropertiesReport ,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
类型
((audioPropertiesInfos: Array<RemoteAudioPropertiesInfo>, totalRemoteVolume: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
audioPropertiesInfos | 是 | 无 | 远端音频信息,其中包含音频流属性、房间 ID、用户 ID ,详见 RemoteAudioPropertiesInfo。 | |
totalRemoteVolume | number | 是 | 无 | 订阅的所有远端流的总音量。 |
调用 enableAudioPropertiesReport 后,根据设置的 AudioPropertiesConfig.interval,你会周期性地收到此回调,获取房间内的最活跃用户信息。
类型
((roomId: string, uid: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 房间 ID |
uid | string | 是 | 无 | 最活跃用户(ActiveSpeaker)的用户 ID |
音频流同步信息回调。可以通过此回调,在远端用户调用 sendStreamSyncInfo 发送音频流同步消息后,收到远端发送的音频流同步信息。
类型
((streamKey: RemoteStreamKey, streamType: SyncInfoStreamType, data: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamKey | 是 | 无 | 远端流信息,详见 RemoteStreamKey 。 | |
streamType | SyncInfoStreamType | 是 | 无 | 媒体流类型,详见 SyncInfoStreamType 。 |
data | ArrayBuffer | 是 | 无 | 消息内容。 |
WTN 流发布结果回调。
调用 startPushPublicStream 接口发布 WTN 流后,启动结果通过此回调方法通知用户。
类型
((roomId: string, publicStreamId: string, error: PublicStreamErrorCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 发布 WTN 流的房间 ID |
publicStreamId | string | 是 | 无 | WTN 流 ID |
error | 是 | 无 | WTN 流发布结果状态码。详见 PublicStreamErrorCode。 |
订阅 WTN 流的结果回调
调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到启动结果和拉流过程中的错误。
类型
((publicStreamId: string, error: PublicStreamErrorCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
publicStreamId | string | 是 | 无 | WTN 流 ID。 |
error | 是 | 无 | WTN 流订阅结果状态码。详见 PublicStreamErrorCode。 |
回调 WTN 流中包含的 SEI 信息。
调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。
类型
((publicStreamId: string, message: ByteBuffer, sourceType: DataMessageSourceType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
publicStreamId | string | 是 | 无 | WTN 流 ID。 |
message | ArrayBuffer | 是 | 无 | 收到的 SEI 消息内容。 |
sourceType | 是 | 无 | SEI 消息类型,自 3.52.1 版本后固定为 |
回调 WTN 流中包含的数据信息。
调用 startPlayPublicStream 订阅 WTN 流后,通过监听本回调获取 WTN 流中的数据消息,包括调用 Open API 发送的 SEI 消息和音量回调。
类型
((publicStreamId: string, message: ByteBuffer, sourceType: DataMessageSourceType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
publicStreamId | string | 是 | 无 | WTN 流 ID。 |
message | ArrayBuffer | 是 | 无 | 收到的数据消息内容,如下:
|
sourceType | 是 | 无 | 数据消息来源,参看 DataMessageSourceType。 |
WTN 流的首帧视频解码成功
关于订阅 WTN 流,详见 startPlayPublicStream。
类型
((publicStreamId: string, videoFrameInfo: VideoFrameInfo) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
publicStreamId | string | 是 | 无 | WTN 流 ID |
videoFrameInfo | 是 | 无 | 视频帧信息,参看 VideoFrameInfo |
WTN 流的音频首帧解码成功
关于订阅 WTN 流,详见 startPlayPublicStream。
类型
((publicStreamId: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
publicStreamId | string | 是 | 无 | WTN 流 ID |
关于音视频回路测试结果的回调。
类型
((result: EchoTestResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
result | 是 | 无 | 测试结果,参看 EchoTestResult |
调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
类型
((interval: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
interval | number | 是 | 无 | 从开启云代理到连接成功经过的时间,单位为 ms |
通话前回声检测结果回调。
类型
((hardwareEchoDetectionResult: HardwareEchoDetectionResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
hardwareEchoDetectionResult | 是 | 无 | 参见 HardwareEchoDetectionResult |
本地代理状态发生改变回调。调用 setLocalProxy 设置本地代理后,SDK 会触发此回调,通知代理连接的状态。
类型
((localProxyType: LocalProxyType, localProxyState: LocalProxyState, localProxyError: LocalProxyError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
localProxyType | 是 | 无 | 本地代理类型。参看 LocalProxyType 。 | |
localProxyState | 是 | 无 | 本地代理状态。参看 LocalProxyState。 | |
localProxyError | 是 | 无 | 本地代理错误。参看 LocalProxyError。 |
房间内用户暂停/恢复发送音频流时,房间内其他用户会收到此回调。
注意
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 |
房间内用户暂停/恢复发送视频流时,房间内其他用户会收到此回调。
注意
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。 |
音频播放设备变化时,收到该回调。
注意
since 3.38 and will be deleted in 3.51, use onAudioRouteChanged instead.
类型
((device: AudioPlaybackDevice) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
device | 是 | 无 | 新的音频设备,详见 AudioPlaybackDevice |
媒体设备状态回调。提示音频采集、音频播放、摄像头视频采集、屏幕视频采集四种媒体设备的状态。
注意
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。 |
媒体设备警告回调。媒体设备包括:音频采集设备、音频渲染设备、和视频采集设备。
注意
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 |
HTTP 代理连接状态改变时,收到该回调。
注意
since 3.52, will be deleted at 3.57, use onLocalProxyStateChanged instead
类型
((state: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | number | 是 | 无 | 当前 HTTP 代理连接状态 |
HTTPS 代理连接状态改变时,收到该回调。
注意
since 3.52, will be deleted at 3.57, use onLocalProxyStateChanged instead
类型
((state: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | number | 是 | 无 | 当前 HTTPS 代理连接状态 |
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 | 是 | 无 | 远端的连接地址 |
音频混音文件播放状态改变时回调
注意
since 353. Use IMediaPlayerEventHandler and IAudioEffectPlayerEventHandler instead.
类型
((mixId: number, state: AudioMixingState, error: AudioMixingError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
mixId | number | 是 | 无 | 混音 ID |
state | 是 | 无 | 混音状态 | |
error | 是 | 无 | 错误码 |
类型:interface
音频数据回调观察者
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
本接口类中的回调周期均为 20 ms。
返回麦克风录制的音频数据
类型
((audioFrame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
audioFrame | 是 | 无 | 音频数据, 参看 IAudioFrame。 |
返回订阅的所有远端用户混音后的音频数据。
类型
((audioFrame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
audioFrame | 是 | 无 | 音频数据, 参看 IAudioFrame。 |
返回远端单个用户的音频数据
类型
((streamKey: RemoteStreamKey, audioFrame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamKey | 是 | 无 | 远端流信息,参看 RemoteStreamKey。 | |
audioFrame | 是 | 无 | 音频数据,参看 IAudioFrame。 |
返回本地麦克风录制和订阅的所有远端用户混音后的音频数据
类型
((audioFrame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
audioFrame | 是 | 无 | 音频数据, 参看 IAudioFrame。 |
类型:interface
自定义音频处理器。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
类型:interface
本地视频帧监测器
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
调用 registerLocalEncodedVideoFrameObserver 后,SDK 每次使用内部采集,采集到一帧视频帧,或收到一帧外部视频帧时,都会回调该事件。
类型
((streamIndex: StreamIndex, encodedVideoFrame: RTCEncodedVideoFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 本地视频帧类型,参看 StreamIndex | |
encodedVideoFrame | 是 | 无 | 本地视频帧信息,参看 RTCEncodedVideoFrame |
类型:interface
远端编码后视频数据监测器
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
调用 registerRemoteEncodedVideoFrameObserver 后,SDK 监测到远端编码后视频数据时,触发该回调
类型
((streamKey: RemoteStreamKey, encodedVideoFrame: RTCEncodedVideoFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamKey | 是 | 无 | 收到的远端流信息,参看 RemoteStreamKey | |
encodedVideoFrame | 是 | 无 | 收到的远端视频帧信息,参看 RTCEncodedVideoFrame |
类型:interface
转推直播观察者。
转推直播状态回调
类型
((eventType: ByteRTCStreamMixingEvent, taskId: string, error: RTCStreamMixingErrorCode, mixType: MixedStreamType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
eventType | 是 | 无 | 转推直播任务状态, 参看 ByteRTCStreamMixingEvent | |
taskId | string | 是 | 无 | 转推直播任务 ID |
error | 是 | 无 | 转推直播错误码,参看 ByteRTCTranscoderErrorCode | |
mixType | 是 | 无 | 转推直播类型,参看 MixedStreamType |
类型:interface
单流转推直播观察者。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
单流转推直播状态回调
类型
((eventType: RTCStreamSinglePushEvent, taskId: string, error: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
eventType | 是 | 无 | 任务状态, 参看 ByteRTCStreamSinglePushEvent | |
taskId | string | 是 | 无 | 任务 ID |
error | number | 是 | 无 | 错误码,参看 ByteRTCTranscoderErrorCode |
类型:interface
房间事件回调接口
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
离开房间成功回调。
用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并在释放所有通话相关的音视频资源后,通过此回调通知用户离开房间成功。
类型
((stats: RTCRoomStats) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stats | 是 | 无 | 保留参数,目前为空。 |
房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。
类型
((roomId: string, uid: string, state: number, extraInfo: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 房间 ID。 |
uid | string | 是 | 无 | 用户 ID。 |
state | number | 是 | 无 | 房间状态码。
|
extraInfo | string | 是 | 无 | 额外信息,如 |
流状态改变回调,发生流相关的警告或错误时会收到此回调。
类型
((roomId: string, uid: string, state: number, extraInfo: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
roomId | string | 是 | 无 | 房间 ID。 |
uid | string | 是 | 无 | 用户 ID。 |
state | number | 是 | 无 | 流状态码,参看 ErrorCode 及 WarningCode。 |
extraInfo | string | 是 | 无 | 附加信息,目前为空。 |
发布端调用 setMultiDeviceAVSync 后音视频同步状态发生改变时,会收到此回调。
类型
((state: AVSyncState) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | 是 | 无 | 音视频同步状态,参看 AVSyncState。 |
房间内通话统计信息回调。
用户进房开始通话后,每 2s 收到一次本回调。
类型
((stats: RTCRoomStats) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stats | 是 | 无 | 房间内的汇总统计数据。详见 RTCRoomStats。 |
远端可见用户加入房间,或房内不可见用户切换为可见的回调。
1.远端用户调用 setUserVisibility 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。
2.远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。
3.房间内隐身远端用户调用 setUserVisibility 方法切换至可见时,房间内其他用户将收到该事件。
4.新进房用户也会收到进房前已在房内的可见用户的进房回调通知。
类型
((userInfo: UserInfo, elapsed: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
userInfo | 是 | 无 | 用户信息。参看 UserInfo。 | |
elapsed | number | 是 | 无 | 保留字段,无意义。 |
远端用户离开房间,或切至不可见时,房间内其他用户会收到此事件
类型
((uid: string, reason: RTCUserOfflineReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 离开房间,或切至不可见的远端用户 ID。 |
reason | 是 | 无 | 用户离开房间的原因:
|
Token 进房权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 进房权限。
类型
(() => void) | undefined
Token 发布权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 发布权限。
类型
(() => void) | undefined
Token 订阅权限过期前 30 秒将触发该回调。
收到该回调后,你需调用 updateToken 更新 Token 订阅权限有效期。
类型
(() => void) | undefined
房间内新增远端摄像头/麦克风采集的媒体流的回调。
类型
((uid: string, type: MediaStreamType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 远端流发布用户的用户 ID。 |
type | 是 | 无 | 远端媒体流的类型,参看 MediaStreamType。 |
房间内远端摄像头/麦克风采集的媒体流移除的回调。
类型
((uid: string, type: MediaStreamType, reason: StreamRemoveReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 移除的远端流发布用户的用户 ID。 |
type | 是 | 无 | 移除的远端流类型,参看 MediaStreamType。 | |
reason | 是 | 无 | 远端流移除的原因,参看 StreamRemoveReason。 |
房间内新增远端屏幕共享音视频流的回调。
类型
((uid: string, type: MediaStreamType) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 远端流发布用户的用户 ID。 |
type | 是 | 无 | 远端媒体流的类型,参看 MediaStreamType。 |
房间内远端屏幕共享音视频流移除的回调。
类型
((uid: string, type: MediaStreamType, reason: StreamRemoveReason) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 移除的远端流发布用户的用户 ID。 |
type | 是 | 无 | 移除的远端流类型,参看 MediaStreamType。 | |
reason | 是 | 无 | 远端流移除的原因,参看 StreamRemoveReason。 |
本地流数据统计以及网络质量回调。
本地用户发布流成功后,SDK 会周期性(2s)地通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。
统计信息通过 LocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。
类型
((stats: LocalStreamStats) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stats | 是 | 无 | 音视频流以及网络状况统计信息。参见 LocalStreamStats。 |
本地订阅的远端音/视频流数据统计以及网络质量回调。
本地用户订阅流成功后,SDK 会周期性(2s)地通过此回调事件通知用户订阅的流在此次统计周期内的质量统计信息,包括:发送音视频比特率、发送帧率、编码帧率,网络质量等。
类型
((stats: RemoteStreamStats) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stats | 是 | 无 | 音视频流以及网络状况统计信息。参见 RemoteStreamStats。 |
关于订阅媒体流状态改变的回调
类型
((stateCode: SubscribeState, userId: string, info: SubscribeConfig) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stateCode | 是 | 无 | 订阅媒体流状态,参看 SubscribeState | |
userId | string | 是 | 无 | 流发布用户的用户 ID |
info | 是 | 无 | 流的属性,参看 SubscribeConfig |
接收到房间内广播消息的回调。
房间内其他用户调用 sendRoomMessage 发送广播消息时,收到此回调。
类型
((uid: string, message: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者 ID |
message | string | 是 | 无 | 收到的消息内容 |
收到房间内广播二进制消息的回调。
房间内其他用户调用 sendRoomBinaryMessage 发送广播二进制消息时,收到此回调。
类型
((uid: string, message: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者 ID |
message | ArrayBuffer | 是 | 无 | 收到的二进制消息内容 |
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此回调。
类型
((uid: string, message: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者的用户 ID 。 |
message | string | 是 | 无 | 收到的文本消息内容。 |
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此回调。
类型
((uid: string, message: ByteBuffer) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 消息发送者的用户 ID 。 |
message | ArrayBuffer | 是 | 无 | 收到的二进制消息内容。 |
向房间内单个用户发送文本或二进制消息后(P2P),消息发送方会收到该消息发送结果回调。
类型
((msgid: number, error: UserMessageSendResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
msgid | number | 是 | 无 | 本条消息的 ID。 |
error | 是 | 无 | 文本或二进制消息发送结果,详见 UserMessageSendResult |
调用 sendRoomMessage 或 sendRoomBinaryMessage 向房间内群发文本或二进制消息后,消息发送方会收到该消息发送结果回调。
类型
((msgid: number, error: RoomMessageSendResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
msgid | number | 是 | 无 | 本条消息的 ID。 |
error | 是 | 无 | 消息发送结果,详见 RoomMessageSendResult |
通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户视频流的发送时,触发此回调。
类型
((uid: string, banned: boolean) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 被禁用/解禁的视频流用户 ID |
banned | boolean | 是 | 无 | 视频流发送状态
|
通过调用服务端 BanUserStream/UnbanUserStream 方法禁用/解禁指定房间内指定用户音频流的发送时,触发此回调。
类型
((uid: string, banned: boolean) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
uid | string | 是 | 无 | 被禁用/解禁的音频流用户 ID |
banned | boolean | 是 | 无 | 音频流发送状态
|
跨房间媒体流转发状态和错误回调
类型
((stateInfos: Array<ForwardStreamStateInfo>) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stateInfos | 是 | 无 | 跨房间媒体流转发目标房间信息数组,详见 ForwardStreamStateInfo |
跨房间媒体流转发事件回调
类型
((eventInfos: Array<ForwardStreamEventInfo>) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
eventInfos | 是 | 无 | 跨房间媒体流转发目标房间事件数组,详见 ForwardStreamEventInfo |
加入房间并发布或订阅流后, 以每 2 秒一次的频率,报告本地用户和已订阅的远端用户的上下行网络质量信息。
类型
((localQuality: NetworkQualityStats, remoteQualities: Array<NetworkQualityStats>) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
localQuality | 是 | 无 | 本地网络质量,详见 NetworkQualityStats。 | |
remoteQualities | 是 | 无 | 已订阅用户的网络质量,详见 NetworkQualityStats。 |
调用 setRoomExtraInfo 设置房间附加信息结果的回调。
类型
((taskId: number, error: SetRoomExtraInfoResult) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
taskId | number | 是 | 无 | 调用 setRoomExtraInfo 的任务编号。 |
error | 是 | 无 | 设置房间附加信息的结果,详见 SetRoomExtraInfoResult |
接收同一房间内,其他用户调用 setRoomExtraInfo 设置的房间附加信息的回调。
类型
((key: string, value: string, lastUpdateUserId: string, lastUpdateTimeMs: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
key | string | 是 | 无 | 房间附加信息的键值 |
value | string | 是 | 无 | 房间附加信息的内容 |
lastUpdateUserId | string | 是 | 无 | 最后更新本条信息的用户 ID。 |
lastUpdateTimeMs | number | 是 | 无 | 最后更新本条信息的 Unix 时间,单位:毫秒。 |
用户调用 setUserVisibility 设置用户可见性的回调。
类型
((currentUserVisibility: boolean, errorCode: UserVisibilityChangeError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
currentUserVisibility | boolean | 是 | 无 | 当前用户的可见性。
|
errorCode | 是 | 无 | 设置用户可见性错误码,参看 UserVisibilityChangeError。 |
字幕状态发生改变回调。
当用户调用 startSubtitle 和 stopSubtitle 使字幕状态发生改变或字幕任务出现错误时,触发该回调。
类型
((state: SubtitleState, errorCode: SubtitleErrorCode, errorMessage: string) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
state | 是 | 无 | 字幕状态。参看 SubtitleState。 | |
errorCode | 是 | 无 | 字幕任务错误码。参看 SubtitleErrorCode。 | |
errorMessage | string | 是 | 无 | 与第三方服务有关的错误信息。 |
字幕相关内容回调。
当用户成功调用 startSubtitle 后会收到此回调,通知字幕的相关信息。
类型
((subtitles: Array<SubtitleMessage>) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
subtitles | 是 | 无 | 字幕消息内容。参看 SubtitleMessage。 |
发生警告回调。
注意
since 3.41 and will be deleted in 3.51, use onRoomStateChanged and onStreamStateChanged instead.
类型
((warn: WarningCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
warn | 是 | 无 | 警告代码,参见 WarningCode |
发生错误回调。
注意
since 3.41 and will be deleted in 3.51, use onRoomStateChanged and onStreamStateChanged instead.
类型
((err: ErrorCode) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
err | 是 | 无 | 错误代码,详情定义见: ErrorCode |
房间内新流发布回调。
房间内的远端用户发布新的音视频流时,本地用户会收到此回调通知。
注意
since 3.36 and will be deleted in 3.51, use onUserPublishStream and onUserPublishScreen instead.
类型
((stream: RTCStream) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
stream | 是 | 无 | 流的属性,详见 RTCStream 数据类型。 |
类型:interface
IAudioEffectPlayer 对应的回调句柄。你必须调用 setEventHandler 完成设置后,才能收到对应回调。
播放状态改变时回调。
类型
((effectId: number, state: PlayerState, error: PlayerError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
effectId | number | 是 | 无 | IAudioEffectPlayer 的 ID。通过 getAudioEffectPlayer 设置。 |
state | 是 | 无 | 混音状态。参考 PlayerState。 | |
error | 是 | 无 | 错误码。参考 PlayerError。 |
类型:interface
本地音频文件混音的音频帧观察者。
当本地音频文件混音时,回调播放的音频帧。
类型
((playerId: number, frame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
playerId | number | 是 | 无 | - |
frame | 是 | 无 | 参看 IAudioFrame。 |
类型:interface
IMediaPlayer 对应的回调句柄。你必须调用 setEventHandler 完成设置后,才能收到对应回调。
播放状态改变时回调。
类型
((playerId: number, state: PlayerState, error: PlayerError) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
playerId | number | 是 | 无 | IMediaPlayer 的 ID。通过 getMediaPlayer 设置。 |
state | 是 | 无 | 混音状态。参考 PlayerState。 | |
error | 是 | 无 | 错误码。参考 PlayerError。 |
播放进度周期性回调。回调周期通过 setProgressInterval 设置。
类型
((playerId: number, progress: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
playerId | number | 是 | 无 | IMediaPlayer 的 ID。通过 getMediaPlayer 设置。 |
progress | number | 是 | 无 | 进度。单位 ms。 |
类型:interface
自定义编码帧回调类
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
提示自定义编码帧可以开始推送的回调。
收到该回调后,你即可调用 pushExternalEncodedVideoFrame 向 SDK 推送自定义编码视频帧
类型
((index: StreamIndex) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
index | 是 | 无 | 可以推送的编码流的属性,参看 StreamIndex |
当收到该回调时,你需停止向 SDK 推送自定义编码视频帧
类型
((index: StreamIndex) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
index | 是 | 无 | 需停止推送的编码流的属性,参看 StreamIndex |
当自定义编码流的帧率或码率发生变化时,触发该回调
类型
((streamIndex: StreamIndex, videoIndex: number, fps: number, bitrateKbps: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 发生变化的编码流的属性,参看 StreamIndex | |
videoIndex | number | 是 | 无 | 对应编码流的下标 |
fps | number | 是 | 无 | 变化后的帧率,单位:fps |
bitrateKbps | number | 是 | 无 | 变化后的码率,单位:kbps |
提示流发布端需重新生成关键帧的回调
类型
((streamIndex: StreamIndex, videoIndex: number) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 远端编码流的属性,参看 StreamIndex | |
videoIndex | number | 是 | 无 | 对应编码流的下标 |
作为自定义编码视频流的发送端,你会在视频流可发送状态发生变化时,收到此回调。
你可以根据此回调的提示,仅对可发送的视频流进行编码,以降低本端视频编码性能消耗。此回调会根据多个因素综合判断触发,包括:本端设备性能和本端网络性能,以及按需订阅场景下,远端用户是否订阅。
类型
((streamIndex: StreamIndex, videoIndex: number, active: boolean) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
streamIndex | 是 | 无 | 远端编码流的属性,参看 StreamIndex | |
videoIndex | number | 是 | 无 | 对应编码流的下标 |
active | boolean | 是 | 无 | 该路流可发送状态 |
类型:interface
本地音频文件混音的音频帧观察者。
注意:回调函数是在 SDK 内部线程(非 UI 线程)同步抛出来的,请不要做耗时操作或直接操作 UI,否则可能导致 app 崩溃。
当本地音频文件混音时,回调播放的音频帧。
类型
((mixID: number, audioFrame: IAudioFrame) => void) | undefined
参数
名称 | 类型 | 必选 | 默认值 | 描述 |
|---|---|---|---|---|
mixID | number | 是 | 无 | 混音 ID。 |
audioFrame | 是 | 无 | 参看 IAudioFrame。 |
类型:interface
内存播放数据源回调