类型: interface
播放器事件
ts
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
用户加入房间
ts
(event: onUserJoinedEvent) => void
参数
event
用户离开房间
ts
(event: onUserLeaveEvent) => void
参数
event
类型: onUserLeaveEvent
连接状态发生变化
ts
(event: ConnectionStateChangeEvent) => void
参数
event
房间内有新的媒体流发布
ts
(event: { stream: RTCStream;}) => void
参数
event
类型: { stream: RTCStream; }
| 名称 | 类型 | 描述 |
|---|---|---|
| stream | RTCStream |
stream 对象 |
房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件
ts
(event: UserMuteEvent) => void
参数
event
类型: UserMuteEvent
房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件
ts
(event: UserMuteEvent) => void
参数
event
类型: UserMuteEvent
房间内有媒体流停止发送
ts
(event: { stream: RTCStream; reason: StreamRemoveReason;}) => void
参数
event
类型: { stream: RTCStream; reason: StreamRemoveReason; }
| 名称 | 类型 | 描述 |
|---|---|---|
| stream | RTCStream |
指定媒体流 |
| reason | StreamRemoveReason |
原因 |
视频首帧渲染
ts
(event: onVideoFirstFrameRenderedEvent) => void
参数
event
视频首帧解码
ts
(event: onVideoFirstFrameDecodedEvent) => void
参数
event
音频首帧解码
ts
(event: onAudioFirstFrameDecodedEvent) => void
参数
event
媒体设备状态改变
ts
(event: RTCDevice) => void
参数
event
类型: RTCDevice
设备及状态
自动播放失败
ts
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
断流事件
ts
(event: { kind: string; isScreen: boolean;}) => void
参数
event
类型: { kind: string; isScreen: boolean; }
| 名称 | 类型 | 描述 |
|---|---|---|
| kind | string |
类型 |
| isScreen | boolean |
是否屏幕流 |
接收到房间内广播消息的事件。
ts
(event: { userId: string; message: any;}) => void
参数
event
类型: { userId: string; message: any; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
发送消息用户的 userId |
| message | any |
消息内容 |
接收到房间内二进制广播消息的事件。
ts
(event: { userId: string; message: ArrayBuffer;}) => void
参数
event
类型: { userId: string; message: ArrayBuffer; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
发送消息用户的 userId |
| message | ArrayBuffer |
消息内容 |
收到来自房间中其他用户通过 sendUserMessage 发来的点对点文本消息时,会收到此事件
ts
(event: UserMessageEvent) => void
参数
event
类型: UserMessageEvent
收到来自房间中其他用户通过 sendUserBinaryMessage 发来的点对点二进制消息时,会收到此事件
ts
(event: UserBinaryMessageEvent) => void
参数
event
用户订阅的远端音/视频流统计信息以及网络状况,统计周期为 2s
ts
(stats: RemoteStreamStats) => void
参数
stats
本地音/视频流统计信息以及网络状况,统计周期为 2s
ts
(stats: LocalStreamStats) => void
参数
stats
类型: LocalStreamStats
用户订阅的公共流统计信息以及网络状况,统计周期为 2s。
ts
(stats: PublicStreamStats) => void
参数
stats
事件频道内所有用户的音量
如果本地用户未进房,则列表中只有 local_user 的音量信息
ts
(event: { speakers: AudioVolumeInfo[];}) => void
参数
event
类型: { speakers: AudioVolumeInfo[]; }
| 名称 | 类型 | 描述 |
|---|---|---|
| speakers | AudioVolumeInfo[] |
房间内活跃用户及其音量信息。 |
当使用 setAudioPlaybackDevice 时,会收到此事件
ts
(event: RTCDevice) => void
房间内的可见用户调用 startAudioCapture 开启音频采集时,房间内其他用户会收到此事件。
ts
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
开启音频采集的远端用户 ID |
房间内的可见用户调用 stopAudioCapture 关闭音频采集时,房间内其他用户会收到此事件。
ts
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
关闭音频采集的远端用户 ID |
房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间内其他用户会收到此事件。
ts
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
开启视频采集的用户 ID |
房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此事件。
ts
(event: { userId: string;}) => void
参数
event
类型: { userId: string; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
停止视频采集的用户的 ID |
接收到包含 SEI 数据的视频帧事件
ts
(event: onSEIMessageEvent) => void
参数
event
SEI 数据事件
如果开启了自动订阅,订阅成功或者失败后可以收到此事件
ts
(event: { userId: string; isScreen: boolean; state: SubscribeState;}) => void
参数
event
类型: { userId: string; isScreen: boolean; state: SubscribeState; }
| 名称 | 类型 | 描述 |
|---|---|---|
| userId | string |
订阅用户的 userId |
| isScreen | boolean |
是否为屏幕流 |
| state | SubscribeState |
订阅状态 |
如果开启了自动发布,发布成功或者失败后可以收到此事件
ts
(event: { isScreen: boolean; state: PublishState;}) => void
参数
event
类型: { isScreen: boolean; state: PublishState; }
| 名称 | 类型 | 描述 |
|---|---|---|
| isScreen | boolean |
是否为屏幕流 |
| state | PublishState |
发布状态 |
自动播放失败
ts
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
播放器事件
转推直播结果事件
ts
(event: LiveTranscodingResultEvent) => void
参数
event
当 SDK 内部发生不可逆转错误时触发该回调
ts
(event: { errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.EXPIRED_TOKEN;}) => void
参数
event
类型: { errorCode: ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR | ErrorCode.EXPIRED_TOKEN; }
| 名称 | 类型 | 描述 |
|---|---|---|
| errorCode | ErrorCode.EXPIRED_TOKEN | ErrorCode.DUPLICATE_LOGIN | ErrorCode.RTM_DUPLICATE_LOGIN | ErrorCode.RTM_TOKEN_ERROR |
查看错误码和发生错误的原因 |
音频混音文件播放状态改变事件
ts
(event: AudioMixingStateChangedEvent) => void
参数
event
接收到房间外消息的事件。
ts
(event: UserMessageEvent) => void
参数
event
类型: UserMessageEvent
接收到房间外二进制消息的事件。
ts
(event: UserBinaryMessageEvent) => void
参数
event
ts
() => void
调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
ts
(event: CloudProxyConnectedEvent) => void
参数
event
公共流发布结果回调。
调用 startPushPublicStream 发布公共流后,结果通过此回调通知用户。
ts
(event: PublicStreamResultEvent) => void
参数
event
公共流的视频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
ts
(event: PublicStreamVideoFirstFrameDecodedEvent) => void
参数
event
公共流的音频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
ts
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
event
公共流的首帧视频渲染成功。
ts
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
event