EngineEvents

类型: interface

名称 描述
onPlayerEvent() 播放器事件
onUserJoined() 远端可见用户加入房间,或房内隐身用户切换为可见的回调。
onUserLeave() 远端可见用户离开房间,或房内可见用户切换为隐身的回调。
onConnectionStateChanged() 连接状态发生变化
onUserPublishStream() 房间内新增远端摄像头/麦克风采集音视频流的回调。
onUserUnpublishStream() 房间内远端摄像头/麦克风采集的媒体流移除的回调。
onUserPublishScreen() 房间内新增远端屏幕共享音视频流的回调。
onUserUnpublishScreen() 房间内远端屏幕共享音视频流移除的回调。
onRemoteVideoFirstFrame() 视频首帧解码
onRemoteAudioFirstFrame() 远端音频首帧播放事件
onVideoDeviceStateChanged() 视频媒体设备状态改变。
onAudioDeviceStateChanged() 音频媒体设备状态改变。
onAutoplayFailed() 自动播放失败
onTrackEnded() 断流事件
onRoomMessageReceived() 接收到房间内广播消息的事件。
onRoomBinaryMessageReceived() 接收到房间内二进制广播消息的事件。
onUserMessageReceived() 收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件
onUserBinaryMessageReceived() 收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件
onRemoteStreamStats() 用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s
onLocalStreamStats() 本地音/视频流统计信息以及网络状况,统计周期为 2s
onPublicStreamStats() 调用 startPlayPublicStream 订阅公共流,后将触发此回调,周期为 2s,包含各项统计信息。
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 数据的视频帧事件
onAutoSubscribeResult() 如果开启了自动订阅,订阅成功或者失败后可以收到此事件
onAutoPublishResult() 如果开启了自动发布,发布成功或者失败后可以收到此事件
onAutoplayFailed() 自动播放失败
onError() 当 SDK 内部发生不可逆转错误时触发该回调
onAudioMixingStateChanged() 音频混音文件播放状态改变事件
onUserMessageReceivedOutsideRoom() 接收到房间外消息的事件。
onUserBinaryMessageReceivedOutsideRoom() 接收到房间外二进制消息的事件。
onTokenWillExpire() Token 过期前 30 秒将触发该回调。
调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。
onCloudProxyConnected() 调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
onPushPublicStreamResult() 公共流发布结果回调。
调用 startPushPublicStream 发布公共流后,结果通过此回调通知用户。
onFirstPublicStreamVideoFrameDecoded() 公共流的视频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
onFirstPublicStreamAudioFrameDecoded() 公共流的音频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
onFirstPublicStreamVideoFrameRendered() 公共流的首帧视频渲染成功。
关于订阅公共流,参看 startPlayPublicStream。
onAudioPlaybackDeviceTestVolume() 回调音频设备测试时的播放音量
onNetworkQuality() 加入房间后,会以每2秒一次的频率,收到本端上行及下行的网络质量信息。
onSimulcastSubscribeFallback() 订阅的视频流发生回退,或从回退中恢复时,收到此回调。
onRemoteVideoSizeChanged() 远端视频分辨率发生改变时,房间内订阅此视频流的用户会收到此回调。
onStreamMixingEvent() 转推直播相关事件
onVideoStreamBanned() 调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的视频流发布时,触发该回调。
onAudioStreamBanned() 调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的音频流发布时,触发该回调。
onLocalVideoSizeChanged() 当实际采集的参数与设置的编码参数不一致时,SDK 会触发该回调返回实际采集视频的参数。
onServerParamsSetResult() 设置接收客户端即时消息的服务器成功或失败时收到本事件。

onPlayerEvent()

播放器事件

(event: PlayerEvent) => void

onUserJoined()

远端可见用户加入房间,或房内隐身用户切换为可见的回调

(event: onUserJoinedEvent) => void

onUserLeave()

远端可见用户离开房间,或房内可见用户切换为隐身的回调

(event: onUserLeaveEvent) => void

onConnectionStateChanged()

连接状态发生变化

(event: ConnectionStateChangeEvent) => void

onUserPublishStream()

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

(event: { userId: string; mediaType: MediaType;}) => void

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

onUserUnpublishStream()

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

(event: { userId: string; mediaType: MediaType; reason: StreamRemoveReason;}) => void

当房间内的远端用户调用 unpublishStream 成功取消发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 unsubscribeStream 取消订阅此流。

onUserPublishScreen()

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

(event: { userId: string; mediaType: MediaType;}) => void

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

onUserUnpublishScreen()

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

(event: { userId: string; mediaType: MediaType; reason: StreamRemoveReason;}) => void

当房间内的远端用户调用 unpublishScreen 成功取消发布由摄像头/麦克风采集的媒体流时,本地用户会收到该回调,此时本地用户可以自行选择是否调用 unsubscribeScreen 取消订阅此流。

onRemoteVideoFirstFrame()

视频首帧解码

(event: onVideoFirstFrameRenderedEvent) => void

onRemoteAudioFirstFrame()

远端音频首帧播放事件

(event: onAudioFirstFrameDecodedEvent) => void

onVideoDeviceStateChanged()

视频媒体设备状态改变。

(event: DeviceInfo) => void

onAudioDeviceStateChanged()

音频媒体设备状态改变。

(event: DeviceInfo) => void

onAutoplayFailed()

自动播放失败

(event: AutoPlayFailedEvent) => void

onTrackEnded()

断流事件

(event: { kind: string; isScreen: boolean;}) => void

onRoomMessageReceived()

接收到房间内广播消息的事件。

(event: { userId: string; message: any;}) => void

onRoomBinaryMessageReceived()

接收到房间内二进制广播消息的事件。

(event: { userId: string; message: ArrayBuffer;}) => void

onUserMessageReceived()

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

(event: UserMessageEvent) => void

onUserBinaryMessageReceived()

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

(event: UserBinaryMessageEvent) => void

onRemoteStreamStats()

用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s

(stats: RemoteStreamStats) => void

onLocalStreamStats()

本地音/视频流统计信息以及网络状况,统计周期为 2s

(stats: LocalStreamStats) => void

onPublicStreamStats()

调用 startPlayPublicStream 订阅公共流,后将触发此回调,周期为 2s,包含各项统计信息。

(stats: PublicStreamStats) => void

onLocalAudioPropertiesReport()

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

(event: LocalAudioPropertiesInfo[]) => void

onRemoteAudioPropertiesReport()

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

(event: RemoteAudioPropertiesInfo[]) => void

onActiveSpeaker()

成功调用 enableAudioPropertiesReport 后,当房间内用户数量大于或等于 2 且有活跃用户时,你会周期性收到此回调,获取房间内音量最大用户的信息。

(userInfo: UserInfo) => void

onAudioPlaybackDeviceChanged()

当调用 setAudioPlaybackDevice 设置音频播放设备时,会收到此事件。

(event: MediaDeviceInfo) => void

onUserStartAudioCapture()

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

(event: { userId: string;}) => void

onUserStopAudioCapture()

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

(event: { userId: string;}) => void

onUserStartVideoCapture()

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

(event: { userId: string;}) => void

onUserStopVideoCapture()

房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。

(event: { userId: string;}) => void

onSEIMessageReceived()

接收到包含 SEI 数据的视频帧事件

(event: onSEIMessageEvent) => void

onAutoSubscribeResult()

如果开启了自动订阅,订阅成功或者失败后可以收到此事件

(event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void

onAutoPublishResult()

如果开启了自动发布,发布成功或者失败后可以收到此事件

(event: { isScreen: boolean; state: PublishState;}) => void

onAutoplayFailed()

自动播放失败

(event: AutoPlayFailedEvent) => void

onError()

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

(event: { errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.EXPIRED_TOKEN | ErrorCode.RECONNECT_FAILED;}) => void

onAudioMixingStateChanged()

音频混音文件播放状态改变事件

(event: AudioMixingStateChangedEvent) => void

onUserMessageReceivedOutsideRoom()

接收到房间外消息的事件。

(event: UserMessageEvent) => void

onUserBinaryMessageReceivedOutsideRoom()

接收到房间外二进制消息的事件。

(event: UserBinaryMessageEvent) => void

onTokenWillExpire()

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

() => void

onCloudProxyConnected()

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

(event: CloudProxyConnectedEvent) => void

onPushPublicStreamResult()

公共流发布结果回调。 调用 startPushPublicStream 发布公共流后,结果通过此回调通知用户。

(event: PublicStreamResultEvent) => void

onFirstPublicStreamVideoFrameDecoded()

公共流的视频首帧解码成功。 关于订阅公共流,参看 startPlayPublicStream。

(event: PublicStreamVideoFirstFrameDecodedEvent) => void

onFirstPublicStreamAudioFrameDecoded()

公共流的音频首帧解码成功。 关于订阅公共流,参看 startPlayPublicStream。

(event: PublicStreamAudioFirstFrameDecodedEvent) => void

onFirstPublicStreamVideoFrameRendered()

公共流的首帧视频渲染成功。 关于订阅公共流,参看 startPlayPublicStream。

(event: PublicStreamAudioFirstFrameDecodedEvent) => void

onAudioPlaybackDeviceTestVolume()

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

(volume: number) => void

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

onNetworkQuality()

加入房间后,会以每2秒一次的频率,收到本端上行及下行的网络质量信息。

(uplinkNetworkQuality: NetworkQuality, downlinkNetworkQuality: NetworkQuality) => void

onSimulcastSubscribeFallback()

订阅的视频流发生回退,或从回退中恢复时,收到此回调。

(event: RemoteStreamSwitch) => void

onRemoteVideoSizeChanged()

远端视频分辨率发生改变时,房间内订阅此视频流的用户会收到此回调。

(key: RemoteStreamKey, info: { width: number; height: number;}) => void

onStreamMixingEvent()

转推直播相关事件

(event: StreamMixingEvent) => void

onVideoStreamBanned()

调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的视频流发布时,触发该回调。

(event: VideoStreamBannedEvent) => void

onAudioStreamBanned()

调用服务端接口 BanUserStream/UnbanUserStream 封禁/解禁指定用户的音频流发布时,触发该回调。

(event: AudioStreamBannedEvent) => void

onLocalVideoSizeChanged()

当实际采集的参数与设置的编码参数不一致时,SDK 会触发该回调返回实际采集视频的参数。

(e: { streamIndex: StreamIndex; info: { width: number; height: number; };}) => void

onServerParamsSetResult()

设置接收客户端即时消息的服务器成功或失败时收到本事件。

(error?: ErrorCode | undefined) => void