类型: interface
播放器事件
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
用户加入房间
(event: onUserJoinedEvent) => void
参数
event
用户离开房间
(event: onUserLeaveEvent) => void
参数
event
类型: onUserLeaveEvent
连接状态发生变化
(event: ConnectionStateChangeEvent) => void
参数
event
房间内有新的媒体流发布
(event: { stream: RTCStream;}) => void
参数
event
类型: { stream: RTCStream; }
| 名称 | 类型 | 描述 |
|---|---|---|
| stream | RTCStream |
stream 对象 |
房间内用户暂停/恢复发送音频流时,房间内其他用户将收到此事件
(event: UserMuteEvent) => void
参数
event
类型: UserMuteEvent
房间内用户暂停/恢复发送视频流时,房间内其他用户将收到此事件
(event: UserMuteEvent) => void
参数
event
类型: UserMuteEvent
房间内有媒体流停止发送
(event: { stream: RTCStream; reason: StreamRemoveReason;}) => void
参数
event
类型: { stream: RTCStream; reason: StreamRemoveReason; }
| 名称 | 类型 | 描述 |
|---|---|---|
| stream | RTCStream |
指定媒体流 |
| reason | StreamRemoveReason |
原因 |
视频首帧渲染
(event: onVideoFirstFrameRenderedEvent) => void
参数
event
视频首帧解码
(event: onVideoFirstFrameDecodedEvent) => void
参数
event
音频首帧解码
(event: onAudioFirstFrameDecodedEvent) => void
参数
event
媒体设备状态改变
(event: RTCDevice) => void
参数
event
类型: RTCDevice
设备及状态
自动播放失败
(event: PlayerEvent) => void
参数
event
类型: PlayerEvent
断流事件
(event: { kind: string; isScreen: boolean;}) => void
参数
event
类型: { kind: string; isScreen: boolean; }
| 名称 | 类型 | 描述 |
|---|---|---|
| kind | string |
类型 |
| 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
用户订阅的公共流统计信息以及网络状况,统计周期为 2s。
(stats: PublicStreamStats) => void
参数
stats
调用 enableAudioPropertiesReport 后,根据设置的 interval 值,你会周期性地收到此回调,了解本地音频的相关信息。
本地音频包括使用 RTC SDK 内部机制采集的麦克风音频和屏幕音频。
(event: LocalAudioPropertiesInfo[]) => void
参数
event
类型: LocalAudioPropertiesInfo[]
本地音频信息。
远端用户进房后,本地调用 enableAudioPropertiesReport,根据设置的 interval 值,本地会周期性地收到此回调,了解订阅的远端用户的音频信息。
远端用户的音频包括使用 RTC SDK 内部机制/自定义机制采集的麦克风音频和屏幕音频。
(event: RemoteAudioPropertiesInfo[]) => void
参数
event
类型: RemoteAudioPropertiesInfo[]
远端音频信息,其中包含音频流属性、房间 ID、用户 ID。
当使用 setAudioPlaybackDevice 时,会收到此事件
(event: RTCDevice) => void
房间内的可见用户调用 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 数据事件
如果开启了自动订阅,订阅成功或者失败后可以收到此事件
(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: PlayerEvent) => void
参数
event
类型: PlayerEvent
播放器事件
转推直播结果事件
(event: LiveTranscodingResultEvent) => void
参数
event
当 SDK 内部发生不可逆转错误时触发该回调
(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 |
查看错误码和发生错误的原因 |
音频混音文件播放状态改变事件
(event: AudioMixingStateChangedEvent) => void
参数
event
接收到房间外消息的事件。
(event: UserMessageEvent) => void
参数
event
类型: UserMessageEvent
接收到房间外二进制消息的事件。
(event: UserBinaryMessageEvent) => void
参数
event
Token 过期前 30 秒将触发该回调。
调用 updateToken 更新 Token。否则 Token 过期后,用户将被移出房间无法继续进行音视频通话。
() => void
调用 startCloudProxy 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。
(event: CloudProxyConnectedEvent) => void
参数
event
公共流发布结果回调。
调用 startPushPublicStream 发布公共流后,结果通过此回调通知用户。
(event: PublicStreamResultEvent) => void
参数
event
公共流的视频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
(event: PublicStreamVideoFirstFrameDecodedEvent) => void
参数
event
公共流的音频首帧解码成功。
关于订阅公共流,参看 startPlayPublicStream。
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
event
公共流的首帧视频渲染成功。
(event: PublicStreamAudioFirstFrameDecodedEvent) => void
参数
event
回调音频设备测试时的播放音量
(volume: number) => void
调用 startAudioPlaybackDeviceTest 或 startAudioDeviceRecordTest,开始播放音频文件或录音时,将开启该回调。本回调为周期性回调,回调周期由上述接口的 interval 参数指定。
参数
volume
类型: number
音频设备测试播放音量。单位:毫秒。推荐设置为 200 ms。范围:[0,255]