You need to enable JavaScript to run this app.
导航

事件

最近更新时间2024.02.18 18:45:01

首次发布时间2022.01.21 10:38:44

本地、远端调用不同的 RTC SDK 接口,微信小程序抛出错误,都可能触发事件,调用 client.on 来开启对这些事件的监听。你可以在回调函数中实现监听到指定事件后程序需要做出的反应。例如,监听到 DISCONNECT 时进行重连。
开启事件监听后,可以调用 client.on 来停止监听该事件。
你可以通过以下方式来创建 events 对象:

const { EVENTS } = require('./VolcEngineRTC_MiniApp');

STREAM_ADDED

client.on(EVENTS.STREAM_ADDED, e => void): void

以下情况都将触发该事件:

  • 本地用户进入房间时,远端用户在此之前已经开始发布音视频流
  • 本地用户进入房间后,远端用户发布音视频流
  • 远端用户从音视频全部禁用状态切换为启用

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

e.streamPublishState

object

远端音视频发布状态:
true:启用
false:禁用

{
    audio: true, // 音频
    video: true // 视频
}

Available since 3.1.1

STREAM_REMOVED

client.on(EVENTS.STREAM_REMOVED, e => void): void

以下情况都将触发该事件:

  • 远端停止发布音视频流
  • 本地接收远端音视频流失败
  • 远端用户禁用了音、视频流

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

UPDATE_URL

client.on(EVENTS.UPDATE_URL, e => void): void

推流或拉流地址更新。
例如,断网重连成功后,将重新发布/订阅,成功之后 RTMP URL 地址会相应更新。
在收到此事件后,你需要将事件中的 url 参数赋值给 live-pusherlive-player

传入参数

参数名类型说明
uidstring用户ID。本端或远端用户 ID
screenboolean是否为屏幕流
urlstring更新后的推拉流地址

STREAM_FAILED

client.on(EVENTS.STREAM_FAILED, e => void): void

推流或拉流异常。
在收到此事件后,你可以尝试重新发布/订阅,或者通知用户发布/订阅失败。

传入参数

参数名类型说明
uidstring用户ID。本端或远端用户 ID
screenboolean是否为屏幕流
reasonstring流异常的原因

MUTE_AUDIO

client.on(EVENTS.MUTE_AUDIO, e => void): void

远端用户在视频流启动状态下,禁用了音频流。
如果远端用户音、视频流都禁用了,则触发 STREAM_REMOVED

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

UNMUTE_AUDIO

client.on(EVENTS.UNMUTE_AUDIO, e => void): void

远端用户在视频流启动状态下,启动音频流。
如果远端用户从音视频全部禁用状态切换为启用时,则触发 STREAM_ADDED

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

MUTE_VIDEO

client.on(EVENTS.MUTE_VIDEO, e => void): void

远端用户在音频流启动状态下,禁用了视频流。
如果远端用户音、视频流都禁用了,则触发 STREAM_REMOVED

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

UNMUTE_VIDEO

client.on(EVENTS.UNMUTE_VIDEO, e => void): void

远端用户在音频流启动状态下,启动视频流。
如果远端用户从音视频全部禁用状态切换为启用时,则触发 STREAM_ADDED

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID
e.screenboolean是否为屏幕共享流

CLIENT_BANNED

client.on(EVENTS.CLIENT_BANNED, () => void): void

远端有相同uid的用户进入房间,当前用户被踢出房间

PEER_ONLINE

client.on(EVENTS.PEER_ONLINE, e => void): void

以下两种情况都将触发该事件:

  • 当本地用户进入房间时,房间内已经有其他用户
  • 当本地用户进入房间后,有远端用户进入该房间时

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID

PEER_LEAVE

client.on(EVENTS.PEER_LEAVE, e => void): void

远端用户退出房间

传入参数

参数名类型说明
e.uidstring指定远端用户的 ID

ERROR

client.on(EVENTS.ERROR, e => void): void

收到 WebSocket 错误回调 SocketTask.onError 将触发该事件,请根据返回的错误描述和原因进行调试。

传入参数

参数名类型说明
e.codenumber微信小程序 SocketTask.onError 回调返回的错误码
e.reasonstring错误描述和原因

DISCONNECT

client.on(EVENTS.DISCONNECT, e => void): void

WebSocket 的异常中断事件,即 SocketTask.onClose 的返回值 code 不为 1000,可尝试重连。

传入参数

参数名类型说明
e.codenumber微信小程序 WebSocket 连接关闭事件的回调 SocketTask.onClose 返回的错误码
e.reasonstring错误描述和原因