事件监听
SDK 基于 EventEmitter 为一些模块提供了事件功能。这些模块包括:
- TrackModeSession / StreamModeSession 房间管理模块
- deviceManger 设备和采集模块
- Track / Stream 媒体对象
SDK 会在一些时机触发一些事件,如果想要处理这些事件,只要添加监听函数即可。具体的事件列表请参考以上各个模块自己的 API文档。下面以房间管理模块的 user-join
事件为例,展示怎么来处理这些事件。
以下只列举了常用的一些事件操作,完整的 API,可以参考这里
const handleUserJoin = (user) => {
console.log("user join!", user);
}
// 注册 user-join 的监听函数
myRoom.on("user-join", handleUserJoin);
// 注册 user-join 的监听函数,但是只会触发一次
myRoom.once("user-join", handleUserJoin);
// 移除 user-join 特定的监听函数
myRoom.off("user-join", handleUserJoin);
// 移除 user-join 的所有监听函数
myRoom.removeAllListeners("user-join");