本地、远端调用不同的 RTC SDK 接口,微信小程序抛出错误,都可能触发事件,调用 client.on 来开启对这些事件的监听。你可以在回调函数中实现监听到指定事件后程序需要做出的反应。例如,监听到 DISCONNECT 时进行重连。
开启事件监听后,可以调用 client.on 来停止监听该事件。
client.on('EVENTS.STREAM_ADDED', e => void): void
typescript以下两种情况都将触发该事件:
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.STREAM_REMOVED', e => void): void
typescript以下两种情况都将触发该事件:
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.MUTE_AUDIO', e => void): void
typescript远端用户停止音频流
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.UNMUTE_AUDIO', e => void): void
typescript远端流启动音频流
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.MUTE_VIDEO', e => void): void
typescript远端流停止视频流
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.UNMUTE_VIDEO', e => void): void
typescript远端流启动视频流
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
| e.screen | boolean | 是否为屏幕共享流 |
client.on('EVENTS.CLIENT_BANNED', () => void): void
typescript远端有相同uid的用户进入房间,当前用户被踢出房间
client.on('EVENTS.PEER_ONLINE', e => void): void
typescript以下两种情况都将触发该事件:
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
client.on('EVENTS.PEER_LEAVE', e => void): void
typescript远端用户退出房间
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.uid | string | 指定远端用户的 ID |
client.on('EVENTS.ERROR', e => void): void
typescript收到 WebSocket 错误回调 SocketTask.onError 将触发该事件,请根据返回的错误描述和原因进行调试。
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.code | number | 微信小程序 SocketTask.onError 回调返回的错误码 |
| e.reason | string | 错误描述和原因 |
client.on('EVENTS.DISCONNECT', e => void): void
typescriptWebSocket 的异常中断事件,即 SocketTask.onClose 的返回值 code 不为 1000,可尝试重连。
| 参数名 | 类型 | 说明 |
|---|---|---|
| e.code | number | 微信小程序 WebSocket 连接关闭事件的回调 SocketTask.onClose 返回的错误码 |
| e.reason | string | 错误描述和原因 |