类型: interface
| 方法 | 描述 |
|---|---|
| onWTNPushStateChanged | WTN 流发布结果回调。 调用 startPushWTN 发布 WTN 流后,结果通过此回调通知用户。 |
| onWTNPlayStateChanged | 调用 startPlayWTN 订阅 WTN 流后,结果通过此回调通知用户。 |
| onWTNRemoteAudioStateChanged | 调用 startPlayWTN 订阅 WTN 流后,音频订阅状态通过此回调通知用户。 |
| onWTNRemoteVideoStateChanged | 调用 startPlayWTN 订阅 WTN 流后,视频订阅状态通过此回调通知用户。 |
| onWTNRemoteVideoStats | 调用 startPlayWTN 订阅 WTN 流,后将触发此回调,周期为 2s,包含视频统计信息。 |
| onWTNRemoteAudioStats | 调用 startPlayWTN 订阅 WTN 流,后将触发此回调,周期为 2s,包含音频统计信息。 |
| onWTNFirstRemoteVideoFrameDecoded | WTN 流的视频首帧解码成功。 关于订阅 WTN 流,参看 startPlayWTN。 |
| onWTNSEIMessageReceived | 回调 WTN 流中包含的 SEI 信息。 调用 startPlayWTN 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。 |
| onWTNLocalStatsException | 本地 WTN 媒体流异常事件回调。 |
| onWTNRemoteStatsException | 远端 WTN 媒体流异常事件回调。 |
WTN 流发布结果回调。
调用 startPushWTN 发布 WTN 流后,结果通过此回调通知用户。
类型
(event: onWTNPushStateChangedEvent) => void
参数
event
调用 startPlayWTN 订阅 WTN 流后,结果通过此回调通知用户。
类型
(event: onWTNPlayStateChangedEvent) => void
参数
event
调用 startPlayWTN 订阅 WTN 流后,音频订阅状态通过此回调通知用户。
类型
(event: onWTNRemoteAudioStateChangedEvent) => void
参数
event
调用 startPlayWTN 订阅 WTN 流后,视频订阅状态通过此回调通知用户。
类型
(event: onWTNRemoteVideoStateChangedEvent) => void
参数
event
调用 startPlayWTN 订阅 WTN 流,后将触发此回调,周期为 2s,包含视频统计信息。
类型
(event: onWTNRemoteVideoStatsEvent) => void
参数
event
调用 startPlayWTN 订阅 WTN 流,后将触发此回调,周期为 2s,包含音频统计信息。
类型
(event: onWTNRemoteAudioStatsEvent) => void
参数
event
WTN 流的视频首帧解码成功。
关于订阅 WTN 流,参看 startPlayWTN。
类型
(event: onWTNFirstRemoteVideoFrameDecodedEvent) => void
参数
回调 WTN 流中包含的 SEI 信息。
调用 startPlayWTN 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。
类型
(event: onWTNSEIMessageReceivedEvent) => void
注意
当 WTN 流中的多路视频流均包含有 SEI 信息时:
参数
event
本地 WTN 媒体流异常事件回调。
类型
(event: onWTNLocalStatsExceptionEvent) => void
参数
event
远端 WTN 媒体流异常事件回调。
类型
(event: onWTNRemoteStatsExceptionEvent) => void
参数
event
类型: interface
| 方法 | 描述 |
|---|---|
| onPlayerEvent | 播放器事件 |
| onUserJoined | 远端可见用户加入房间,或房内不可见用户切换为可见的回调 |
| onUserLeave | 远端可见用户离开房间,或房内可见用户切换为隐身的回调 |
| onConnectionStateChanged | 连接状态发生变化 |
| onUserPublishStream | 房间内新增远端摄像头/麦克风采集音视频流的回调。 |
| onUserUnpublishStream | 房间内远端摄像头/麦克风采集的媒体流移除的回调。 |
| onUserPublishScreen | 房间内新增远端屏幕共享音视频流的回调。 |
| onUserUnpublishScreen | 房间内远端屏幕共享音视频流移除的回调。 |
| onRemoteVideoFirstFrame | 视频首帧渲染 |
| onRemoteAudioFirstFrame | 远端音频首帧播放事件 |
| onVideoDeviceStateChanged | 视频媒体设备状态改变。 |
| onAudioDeviceStateChanged | 音频媒体设备状态改变。 |
| onTrackEnded | 断流事件,建议在回调里重新采集。 |
| onRoomMessageReceived | 接收到房间内广播消息的事件。 |
| onRoomBinaryMessageReceived | 接收到房间内二进制广播消息的事件。 |
| onUserMessageReceived | 收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件 |
| onUserBinaryMessageReceived | 收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件 |
| onRemoteStreamStats | 用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s |
| onLocalStreamStats | 本地音/视频流统计信息以及网络状况,统计周期为 2s |
| onPublicStreamStats | 调用 startPlayPublicStream 订阅 WTN 流,后将触发此回调,周期为 2s,包含各项统计信息。 |
| onLocalStatsException | SDK 监测到本地流异常事件回调,通常是由于网络或采集/播放设备等外部因素导致。异常事件不是错误,但是一般会引起通话质量问题。发生异常事件后,如果恢复正常,也会收到该回调。 |
| onRemoteStatsException | SDK 监测到远端流异常事件回调,通常是由于网络或采集/播放设备等外部因素导致。异常事件不是错误,但是一般会引起通话质量问题。发生异常事件后,如果恢复正常,也会收到该回调。 |
| onLocalAudioPropertiesReport | 调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的瞬时信息。 本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。 |
| onRemoteAudioPropertiesReport | 远端用户进房后,本地调用 enableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的瞬时音频信息。 远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。 |
| onActiveSpeaker | 成功调用 enableAudioPropertiesReport 后,当房间内用户数量大于或等于 2 且有活跃用户时,你会周期性收到此回调,获取房间内音量最大用户的信息。 |
| onAudioPlaybackDeviceChanged | 当调用 setAudioPlaybackDevice 设置音频播放设备时,会收到此事件。 |
| onUserStartAudioCapture | 房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。 |
| onUserStopAudioCapture | 房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。 |
| onUserStartVideoCapture | 房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。 |
| onUserStopVideoCapture | 房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。 |
| onSEIMessageReceived | 接收到包含 SEI 数据的视频帧事件 |
| onSEIStreamUpdate | 包含 SEI 信息的流更新事件。 在语音通话场景下,远端用户调用 sendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过此事件回调本地用户。 你可以通过此事件判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。 |
| onAutoSubscribeResult | 如果开启了自动订阅,订阅成功或者失败后可以收到此事件 |
| onAutoPublishResult | 如果开启了自动发布,发布成功或者失败后可以收到此事件 |
| onAutoplayFailed | 自动播放失败 |
| onError | 当 SDK 内部发生不可逆转错误时触发该回调。 |
| onAudioMixingStateChanged | 音频混音文件播放状态改变事件 |
| onUserMessageReceivedOutsideRoom | 接收到房间外消息的事件。 |
| onUserBinaryMessageReceivedOutsideRoom | 接收到房间外二进制消息的事件。 |
| onTokenWillExpire | Token 过期前 30 秒将触发该回调。 调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。 |
| onTokenPublishPrivilegeWillExpire | Token 发布权限过期前 30 秒将触发该回调。 收到该回调后,调用 updateToken 更新 Token。 |
| onTokenPublishPrivilegeDidExpired | Token 发布权限过期时触发该回调,调用 updateToken 更新 Token。 |
| onTokenSubscribePrivilegeWillExpire | Token 订阅权限过期前 30 秒将触发该回调。 收到该回调后,调用 updateToken 更新 Token。 |
| onTokenSubscribePrivilegeDidExpired | Token 订阅权限过期时触发该回调,调用 updateToken 更新 Token。 |
| onCloudProxyConnected | 调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。 |
| onPushPublicStreamResult | WTN 流发布结果回调。 调用 startPushPublicStream 发布 WTN 流后,结果通过此回调通知用户。 |
| onPublicStreamSEIMessageReceived | 回调 WTN 流中包含的 SEI 信息。 调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。 |
| onFirstPublicStreamVideoFrameDecoded | WTN 流的视频首帧解码成功。 关于订阅 WTN 流,参看 startPlayPublicStream。 |
| onFirstPublicStreamAudioFrameDecoded | WTN 流的音频首帧解码成功。 关于订阅 WTN 流,参看 startPlayPublicStream。 |
| onFirstPublicStreamVideoFrameRendered | WTN 流的首帧视频渲染成功。 关于订阅 WTN 流,参看 startPlayPublicStream。 |
| onAudioPlaybackDeviceTestVolume | 回调音频设备测试时的播放音量 |
| onNetworkQuality | 加入房间后,会以每2秒一次的频率,收到本端上行及下行的网络质量信息。 |
| onSimulcastSubscribeFallback | 订阅的视频流发生回退,或从回退中恢复时,收到此回调。 |
| onRemoteVideoSizeChanged | 远端视频分辨率发生改变时,房间内订阅此视频流的用户会收到此回调。 |
| onStreamMixingEvent | 转推直播相关事件 |
| onVideoStreamBanned | 调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的视频流发布时,触发该回调。 |
| onAudioStreamBanned | 调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的音频流发布时,触发该回调。 |
| onLocalVideoSizeChanged | 当实际采集的参数与设置的编码参数不一致时,SDK 会触发该回调返回实际采集视频的参数。 |
| onSubtitleStateChanged | 字幕状态发生改变回调。 当你调用 startSubtitle 和 stopSubtitle 使字幕状态发生改变或字幕任务出现错误时,触发该回调。 |
| onSubtitleMessageReceived | 字幕相关信息回调。 当你成功调用 startSubtitle 后会收到此回调,通知字幕的相关信息。 |
| onServerParamsSetResult | 设置接收客户端即时消息的服务器成功或失败时收到本事件。 |
| onForwardStreamError | 设置跨房间转发媒体流失败时收到本事件。 |
| onPlayerVisibility | 播放器可见性变化事件,每 30 秒触发一次。 |
播放器事件
类型
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
远端可见用户加入房间,或房内不可见用户切换为可见的回调
类型
(event: onUserJoinedEvent) => void
参数
event
远端可见用户离开房间,或房内可见用户切换为隐身的回调
类型
(event: onUserLeaveEvent) => void
参数
event
类型: onUserLeaveEvent
连接状态发生变化
类型
(event: ConnectionStateChangeEvent) => void
参数
event
房间内新增远端摄像头/麦克风采集音视频流的回调。
类型
(event: { userId: string; mediaType: MediaType;}) => void
注意
当房间内的远端用户调用 publishStream 成功发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeStream 订阅此流。
参数
event
类型: { userId: string; mediaType: MediaType; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 远端流发布用户的用户 ID |
| mediaType | MediaType | 远端媒体流的类型 |
房间内远端摄像头/麦克风采集的媒体流移除的回调。
类型
(event: { userId: string; mediaType: MediaType; reason: StreamRemoveReason;}) => void
注意
当房间内的远端用户调用 unpublishStream 成功取消发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 unsubscribeStream 取消订阅此流。
参数
event
类型: { userId: string; mediaType: MediaType; reason: StreamRemoveReason; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 移除的远端流发布用户的用户 ID |
| mediaType | MediaType | 远端媒体流的类型 |
| reason | StreamRemoveReason | 远端流移除的原因 |
房间内新增远端屏幕共享音视频流的回调。
类型
(event: { userId: string; mediaType: MediaType;}) => void
注意
当房间内的远端用户调用 publishScreen 成功发布来自屏幕共享的音视频流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 subscribeScreen 订阅此流。
参数
event
类型: { userId: string; mediaType: MediaType; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 远端流发布用户的用户 ID |
| mediaType | MediaType | 远端媒体流的类型 |
房间内远端屏幕共享音视频流移除的回调。
类型
(event: { userId: string; mediaType: MediaType; reason: StreamRemoveReason;}) => void
注意
当房间内的远端用户调用 unpublishScreen 成功取消发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 unsubscribeScreen 取消订阅此流。
参数
event
类型: { userId: string; mediaType: MediaType; reason: StreamRemoveReason; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 移除的远端流发布用户的用户 ID |
| mediaType | MediaType | 远端媒体流的类型 |
| reason | StreamRemoveReason | 远端流移除的原因 |
视频首帧渲染
类型
(event: onVideoFirstFrameRenderedEvent) => void
参数
event
远端音频首帧播放事件
类型
(event: onAudioFirstFrameDecodedEvent) => void
参数
event
当摄像头连接状态发生改变时,会触发该回调。例如因设备拔插导致设备断开/连接。
需要先获取摄像头权限(可通过 enableDevices 获取),才可以收到该回调。
类型
(event: DeviceInfo) => void
参数
event
类型: DeviceInfo
媒体设备信息及状态。
音频媒体设备(即麦克风、扬声器)连接状态发生改变时,会触发该回调。例如因设备拔插导致设备断开/连接。
需要先获取麦克风或扬声器权限(可通过 enableDevices 获取),才可以收到该回调。
类型
(event: DeviceInfo) => void
参数
event
类型: DeviceInfo
媒体设备信息及状态。
断流事件,建议在回调里重新采集。
类型
(event: { kind: string; isScreen: boolean;}) => void
参数
event
类型: { kind: string; isScreen: boolean; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| kind | string | 媒体流类型,参看 kind。 |
| isScreen | boolean | 是否屏幕流 |
接收到房间内广播消息的事件。
类型
(event: { userId: string; message: any;}) => void
参数
event
类型: { userId: string; message: any; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 发送消息用户的 userId |
| message | any | 消息内容 |
接收到房间内二进制广播消息的事件。
类型
(event: { userId: string; message: ArrayBuffer;}) => void
参数
event
类型: { userId: string; message: ArrayBuffer; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 发送消息用户的 userId |
| message | ArrayBuffer | 消息内容 |
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件
类型
(event: UserMessageEvent) => void
参数
event
类型: UserMessageEvent
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件
类型
(event: UserBinaryMessageEvent) => void
参数
event
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s
类型
(stats: RemoteStreamStats) => void
参数
stats
本地音/视频流统计信息以及网络状况,统计周期为 2s
类型
(stats: LocalStreamStats) => void
参数
stats
类型: LocalStreamStats
调用 startPlayPublicStream 订阅 WTN 流,后将触发此回调,周期为 2s,包含各项统计信息。
已弃用
since 4.65, use onWTNRemoteVideoStats and onWTNRemoteAudioStats instead.
类型
(stats: PublicStreamStats) => void
参数
stats
SDK 监测到本地流异常事件回调,通常是由于网络或采集/播放设备等外部因素导致。异常事件不是错误,但是一般会引起通话质量问题。发生异常事件后,如果恢复正常,也会收到该回调。
类型
(exception: LocalStatsException) => void
参数
exception
SDK 监测到远端流异常事件回调,通常是由于网络或采集/播放设备等外部因素导致。异常事件不是错误,但是一般会引起通话质量问题。发生异常事件后,如果恢复正常,也会收到该回调。
类型
(exception: RemoteStatsException) => void
参数
exception
调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的瞬时信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
类型
(event: LocalAudioPropertiesInfo[]) => void
参数
event
类型: LocalAudioPropertiesInfo[]
本地音频信息。
远端用户进房后,本地调用 enableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的瞬时音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
类型
(event: RemoteAudioPropertiesInfo[]) => void
参数
event
类型: RemoteAudioPropertiesInfo[]
远端音频信息,其中包含音频流属性、房间 ID、用户 ID。
成功调用 enableAudioPropertiesReport 后,当房间内用户数量大于或等于 2 且有活跃用户时,你会周期性收到此回调,获取房间内音量最大用户的信息。
类型
(userInfo: UserInfo) => void
参数
userInfo
类型: UserInfo
音量最大用户的信息。
当调用 setAudioPlaybackDevice 设置音频播放设备时,会收到此事件。
类型
(event: MediaDeviceInfo) => void
参数
event
类型: MediaDeviceInfo
媒体设备信息,参看 MediaDeviceInfo。
房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。
类型
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 开启音频采集的远端用户 ID |
房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。
类型
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 关闭音频采集的远端用户 ID |
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。
类型
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 开启视频采集的用户 ID |
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。
类型
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 停止视频采集的用户的 ID |
接收到包含 SEI 数据的视频帧事件
类型
(event: onSEIMessageEvent) => void
参数
event
SEI 数据事件
包含 SEI 信息的流更新事件。
在语音通话场景下,远端用户调用 sendSEIMessage 通过黑帧视频流发送 SEI 数据时,流的发送状态会通过此事件回调本地用户。
你可以通过此事件判断携带 SEI 数据的视频帧为黑帧,从而不对该视频帧进行渲染。
类型
(event: onSEIStreamUpdateEvent) => void
参数
event
包含 SEI 信息的流更新事件。
如果开启了自动订阅,订阅成功或者失败后可以收到此事件
类型
(event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void
参数
event
类型: { userId: string; isScreen: boolean; state: SubscribeState; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string | 订阅用户的 userId |
| isScreen | boolean | 是否为屏幕流 |
| state | SubscribeState | 订阅状态 |
如果开启了自动发布,发布成功或者失败后可以收到此事件
类型
(event: { isScreen: boolean; state: PublishState;}) => void
参数
event
类型: { isScreen: boolean; state: PublishState; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| isScreen | boolean | 是否为屏幕流 |
| state | PublishState | 发布状态 |
自动播放失败
类型
(event: AutoPlayFailedEvent) => void
参数
event
播放器事件
当 SDK 内部发生不可逆转错误时触发该回调。
类型
(event: { errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.TOKEN_EXPIRED | ErrorCode.RECONNECT_FAILED | ErrorCode.KICKED_OUT | ErrorCode.ROOM_DISMISS; forbiddenTime?: number;}) => void
参数
event
类型: { errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.TOKEN_EXPIRED | ErrorCode.RECONNECT_FAILED | ErrorCode.KICKED_OUT | ErrorCode.ROOM_DISMISS; forbiddenTime?: number | undefined; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | ErrorCode.KICKED_OUT | ErrorCode.ROOM_DISMISS | ErrorCode.TOKEN_EXPIRED | ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.RECONNECT_FAILED | 错误码,具体错误原因参看 ErrorCode。 |
| forbiddenTime | number | undefined | (可选参数)房间解封时间,unix 时间戳,单位毫秒。 当 forbiddenTime 为 0 时,代表允许用户重新进房。 |
音频混音文件播放状态改变事件
类型
(event: AudioMixingStateChangedEvent) => void
参数
event
接收到房间外消息的事件。
类型
(event: UserMessageEvent) => void
参数
event
类型: UserMessageEvent
接收到房间外二进制消息的事件。
类型
(event: UserBinaryMessageEvent) => void
参数
event
Token 过期前 30 秒将触发该回调。
调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。
类型
() => void
Token 发布权限过期前 30 秒将触发该回调。
收到该回调后,调用 updateToken 更新 Token。
类型
() => void
注意
若未及时更新 Token,发布权限过期后,已在发布中的流会停止发布,发布端会收到 onTokenPublishPrivilegeDidExpired 回调;同时远端用户会收到 onUserUnpublishStream/onUserUnpublishScreen 回调,移除原因为 STREAM_REMOVE_REASON_TOKEN_PRIVILEGE_EXPIRED。
Token 发布权限过期时触发该回调,调用 updateToken 更新 Token。
类型
(e: { errorCode?: ErrorCode; message?: string;}) => void
参数
e
类型: { errorCode?: ErrorCode | undefined; message?: string | undefined; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | ErrorCode | undefined | 错误码,TOKEN_NO_PUBLISH_PERMISSION 代表 Token 发布权限过期。 |
| message | string | undefined | 错误信息。 |
Token 订阅权限过期前 30 秒将触发该回调。
收到该回调后,调用 updateToken 更新 Token。
类型
() => void
注意
若收到该回调后未及时更新 Token,Token 订阅权限过期后,已订阅的流会取消订阅,订阅端会收到 onTokenSubscribePrivilegeDidExpired 回调。
此时尝试新订阅流会失败,并返回错误码 TOKEN_NO_SUBSCRIBE_PERMISSION 提示 Token 订阅权限过期。
Token 订阅权限过期时触发该回调,调用 updateToken 更新 Token。
类型
(e: { errorCode?: ErrorCode; message?: string;}) => void
参数
e
类型: { errorCode?: ErrorCode | undefined; message?: string | undefined; }
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | ErrorCode | undefined | 错误码,TOKEN_NO_SUBSCRIBE_PERMISSION 代表 Token 订阅权限过期。 |
| message | string | undefined | 错误信息。 |
调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
类型
(event: CloudProxyConnectedEvent) => void
参数
event
WTN 流发布结果回调。
调用 startPushPublicStream 发布 WTN 流后,结果通过此回调通知用户。
类型
(event: PublicStreamResultEvent) => void
参数
event
回调 WTN 流中包含的 SEI 信息。
调用 startPlayPublicStream 接口启动拉 WTN 流功能后,通过此回调收到 WTN 流中的 SEI 消息。
已弃用
since 4.65, use onWTNSEIMessageReceived instead.
类型
(event: PublicStreamSEIMessageEvent) => void
注意
当 WTN 流中的多路视频流均包含有 SEI 信息时:
参数
event
WTN 流的视频首帧解码成功。
关于订阅 WTN 流,参看 startPlayPublicStream。
已弃用
since 4.65, use onWTNFirstRemoteVideoFrameDecoded instead.
类型
(event: PublicStreamVideoFirstFrameDecodedEvent) => void
参数
WTN 流的音频首帧解码成功。
关于订阅 WTN 流,参看 startPlayPublicStream。
已弃用
since 4.65.
类型
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
WTN 流的首帧视频渲染成功。
关于订阅 WTN 流,参看 startPlayPublicStream。
已弃用
since 4.65, use onWTNRemoteVideoStateChanged instead.
类型
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
回调音频设备测试时的播放音量
类型
(volume: number) => void
注意
调用 startAudioPlaybackDeviceTest 或 startAudioDeviceRecordTest,开始播放音频文件或录音时,将开启该回调。本回调为周期性回调,回调周期由上述接口的 interval 参数指定。
参数
volume
类型: number
音频设备测试播放音量。
加入房间后,会以每2秒一次的频率,收到本端上行及下行的网络质量信息。
类型
(uplinkNetworkQuality: NetworkQuality, downlinkNetworkQuality: NetworkQuality) => void
参数
uplinkNetworkQuality
类型: NetworkQuality
上行网络质量。
downlinkNetworkQuality
类型: NetworkQuality
下行网络质量。
订阅的视频流发生回退,或从回退中恢复时,收到此回调。
类型
(event: RemoteStreamSwitch) => void
参数
event
流切换信息
远端视频分辨率发生改变时,房间内订阅此视频流的用户会收到此回调。
类型
(key: RemoteStreamKey, info: { width: number; height: number;}) => void
参数
key
类型: RemoteStreamKey
远端流信息
info
类型: { width: number; height: number; }
视频帧信息
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| width | number | 宽度,单位:px |
| height | number | 高度,单位:px |
转推直播相关事件
类型
(event: StreamMixingEvent) => void
参数
event
调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的视频流发布时,触发该回调。
类型
(event: VideoStreamBannedEvent) => void
注意
参数
event
调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的音频流发布时,触发该回调。
类型
(event: AudioStreamBannedEvent) => void
注意
参数
event
当实际采集的参数与设置的编码参数不一致时,SDK 会触发该回调返回实际采集视频的参数。
类型
(e: { streamIndex: StreamIndex; info: { width: number; height: number; };}) => void
参数
e
类型: { streamIndex: StreamIndex; info: { width: number; height: number;}; }
实际采集视频的参数。
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| streamIndex | StreamIndex | 视频流属性。 |
| info | { width: number; height: number; } | 视频实际采集参数。 |
| info.width | number | 视频宽度,单位:px。 |
| info.height | number | 视频高度,单位:px。 |
字幕状态发生改变回调。
当你调用 startSubtitle 和 stopSubtitle 使字幕状态发生改变或字幕任务出现错误时,触发该回调。
类型
(e: SubtitleEvent) => void
参数
e
类型: SubtitleEvent
字幕任务状态。
字幕相关信息回调。
当你成功调用 startSubtitle 后会收到此回调,通知字幕的相关信息。
类型
(e: SubtitleMessage[]) => void
参数
e
类型: SubtitleMessage[]
字幕具体内容。如果开启的字幕翻译任务包含多种目标语言时,翻译结果也将包含多个语种,可以根据 userId 和 language 提取 text 的值。
设置接收客户端即时消息的服务器成功或失败时收到本事件。
类型
(error?: ErrorCode) => void
注意
参数
error
类型: ErrorCode | undefined
错误码
设置跨房间转发媒体流失败时收到本事件。
类型
(e: ForwardStreamStateInfo) => void
参数
e
跨房间转发媒体流状态信息。
播放器可见性变化事件,每 30 秒触发一次。
类型
(e: PlayerVisibility[]) => void
参数
e
类型: PlayerVisibility[]
播放器可见性信息数组,包含当前所有播放器的 ID、用户 ID 以及可见性状态等信息。