IEngineEvents

成员方法

名称 类型 描述
onPlayerEvent (event: PlayerEvent) => void 播放器事件
onUserJoined (event: onUserJoinedEvent) => void 用户加入房间
onUserLeave (event: onUserLeaveEvent) => void 用户离开房间
onConnectionStateChanged (event: ConnectionStateChangeEvent) => void 连接状态发生变化
onStreamAdd (event: { stream: RTCStream;}) => void 房间内有新的媒体流发布
onUserMuteAudio (event: UserMuteEvent) => void 房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件
onUserMuteVideo (event: UserMuteEvent) => void 房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件
onStreamRemove (event: { stream: RTCStream; reason: StreamRemoveReason;}) => void 房间内有媒体流停止发送
onVideoFirstFrameRendered (event: onVideoFirstFrameRenderedEvent) => void 视频首帧渲染
onVideoFirstFrameDecoded (event: onVideoFirstFrameDecodedEvent) => void 视频首帧解码
onAudioFirstFrameDecoded (event: onAudioFirstFrameDecodedEvent) => void 音频首帧解码
onMediaDeviceStateChanged (event: RTCDevice) => void 媒体设备状态改变
onAutoplayFailed (event: PlayerEvent) => void 自动播放失败
onTrackEnded (event: { kind: string; isScreen: boolean;}) => void 断流事件
onRoomMessageReceived (event: { userId: string; message: any;}) => void 接收到房间内广播消息的事件。
onRoomBinaryMessageReceived (event: { userId: string; message: ArrayBuffer;}) => void 接收到房间内二进制广播消息的事件。
onUserMessageReceived (event: UserMessageEvent) => void 收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件
onUserBinaryMessageReceived (event: UserBinaryMessageEvent) => void 收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件
onRemoteStreamStats (stats: RemoteStreamStats) => void 用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s
onLocalStreamStats (stats: LocalStreamStats) => void 本地音/视频流统计信息以及网络状况,统计周期为 2s
onAudioVolumeIndication (event: { speakers: AudioVolumeInfo[];}) => void 事件频道内所有用户的音量
如果本地用户未进房,则列表中只有 local_user 的音量信息
onAudioPlaybackDeviceChanged (event: RTCDevice) => void 当使用 setAudioPlaybackDevice 时,会收到此事件
onUserStartAudioCapture (event: { userId: string;}) => void 房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。
onUserStopAudioCapture (event: { userId: string;}) => void 房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。
onUserStartVideoCapture (event: { userId: string;}) => void 房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。
onUserStopVideoCapture (event: { userId: string;}) => void 房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。
onSEIMessageReceived (event: onSEIMessageEvent) => void 接收到包含 SEI 数据的视频帧事件
onAutoSubscribeResult (event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void 如果开启了自动订阅,订阅成功或者失败后可以收到此事件
onAutoPublishResult (event: { isScreen: boolean; state: PublishState;}) => void 如果开启了自动发布,发布成功或者失败后可以收到此事件
onAutoplayFailed (event: PlayerEvent) => void 自动播放失败
onLiveTranscodingResult (event: LiveTranscodingResultEvent) => void 转推直播结果事件
onError (event: { errorCode: ErrorCode;}) => void 当 SDK 内部发生不可逆转错误时触发该回调
onAudioMixingStateChanged (event: AudioMixingStateChangedEvent) => void 音频混音文件播放状态改变事件
onUserMessageReceivedOutsideRoom (event: UserMessageEvent) => void 接收到房间外消息的事件。
onUserBinaryMessageReceivedOutsideRoom (event: UserBinaryMessageEvent) => void 接收到房间外二进制消息的事件。

方法详情

onPlayerEvent

播放器事件

(event: PlayerEvent) => void

参数

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

onUserJoined

用户加入房间

(event: onUserJoinedEvent) => void

参数

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

onUserLeave

用户离开房间

(event: onUserLeaveEvent) => void

参数

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

onConnectionStateChanged

连接状态发生变化

(event: ConnectionStateChangeEvent) => void

参数

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

onStreamAdd

房间内有新的媒体流发布

(event: { stream: RTCStream;}) => void

参数

名称 类型 必选 默认值 描述
event { stream:RTCStream; } 是 stream 对象

onUserMuteAudio

房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件

(event: UserMuteEvent) => void

参数

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

onUserMuteVideo

房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件

(event: UserMuteEvent) => void

参数

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

onStreamRemove

房间内有媒体流停止发送

(event: { stream: RTCStream; reason: StreamRemoveReason;}) => void

参数

名称 类型 必选 默认值 描述
event { stream:RTCStream; reason:StreamRemoveReason; } 是
  • stream:指定媒体流
  • reason: 原因
  • onVideoFirstFrameRendered

    视频首帧渲染

    (event: onVideoFirstFrameRenderedEvent) => void
    

    参数

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

    onVideoFirstFrameDecoded

    视频首帧解码

    (event: onVideoFirstFrameDecodedEvent) => void
    

    参数

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

    onAudioFirstFrameDecoded

    音频首帧解码

    (event: onAudioFirstFrameDecodedEvent) => void
    

    参数

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

    onMediaDeviceStateChanged

    媒体设备状态改变

    (event: RTCDevice) => void
    

    参数

    名称 类型 必选 默认值 描述
    event RTCDevice 是 设备及状态

    onAutoplayFailed

    自动播放失败

    (event: PlayerEvent) => void
    

    参数

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

    onTrackEnded

    断流事件

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

    参数

    名称 类型 必选 默认值 描述
    event { kind: string; isScreen: boolean; } 是
  • kind: string 类型
  • isScreen: boolean 是否屏幕流
  • onRoomMessageReceived

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; message: any; } 是
  • userId: string 发送消息用户的 userId
  • message: any 消息内容
  • onRoomBinaryMessageReceived

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; message: ArrayBuffer; } 是
  • userId: string 发送消息用户的 userId
  • message: any 消息内容
  • onUserMessageReceived

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

    (event: UserMessageEvent) => void
    

    参数

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

    onUserBinaryMessageReceived

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

    (event: UserBinaryMessageEvent) => void
    

    参数

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

    onRemoteStreamStats

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

    (stats: RemoteStreamStats) => void
    

    参数

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

    onLocalStreamStats

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

    (stats: LocalStreamStats) => void
    

    参数

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

    onAudioVolumeIndication

    事件频道内所有用户的音量
    如果本地用户未进房,则列表中只有 local_user 的音量信息

    (event: { speakers: AudioVolumeInfo[];}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { speakers:AudioVolumeInfo[]; } 是 房间内活跃用户及其音量信息。

    onAudioPlaybackDeviceChanged

    当使用 setAudioPlaybackDevice 时,会收到此事件

    (event: RTCDevice) => void
    

    参数

    名称 类型 必选 默认值 描述
    event RTCDevice 是 媒体设备信息,详见官方文档。

    onUserStartAudioCapture

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 开启音频采集的远端用户 ID

    onUserStopAudioCapture

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 关闭音频采集的远端用户 ID

    onUserStartVideoCapture

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string开启视频采集的用户 ID

    onUserStopVideoCapture

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; } 是 userId: string 停止视频采集的用户的 ID

    onSEIMessageReceived

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

    (event: onSEIMessageEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event onSEIMessageEvent 是 SEI 数据事件

    onAutoSubscribeResult

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

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

    参数

    名称 类型 必选 默认值 描述
    event { userId: string; isScreen: boolean; state:SubscribeState; } 是
  • userId: string 订阅用户的 userId
  • isScreen: boolean是否为屏幕流
  • state: SubscribeState 订阅状态
  • onAutoPublishResult

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

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

    参数

    名称 类型 必选 默认值 描述
    event { isScreen: boolean; state:PublishState; } 是
  • isScreen: boolean是否为屏幕流
  • state: PublishState 发布状态

  • onAutoplayFailed

    自动播放失败

    (event: PlayerEvent) => void
    

    参数

    名称 类型 必选 默认值 描述
    event PlayerEvent 是 播放器事件

    onLiveTranscodingResult

    转推直播结果事件

    (event: LiveTranscodingResultEvent) => void
    

    参数

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

    onError

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

    (event: { errorCode: ErrorCode;}) => void
    

    参数

    名称 类型 必选 默认值 描述
    event { errorCode:ErrorCode; } 是 查看错误码和发生错误的原因

    onAudioMixingStateChanged

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

    (event: AudioMixingStateChangedEvent) => void
    

    参数

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

    onUserMessageReceivedOutsideRoom

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

    (event: UserMessageEvent) => void
    

    参数

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

    onUserBinaryMessageReceivedOutsideRoom

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

    (event: UserBinaryMessageEvent) => void
    

    参数

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