模块事件

一、连麦信息改变

说明: 连麦信息通过 connectMic.getConnectMicInfo() 获取,当连麦信息改变时会触发该事件。

Event 事件: ConnectMicEvents.ConnectMicInfoChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

connectMicInfo

连麦信息

ConnectMicStoreInfo

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ConnectMicInfoChange, () => {
  const connectMicInfo = watchCore.connectMic.getConnectMicInfo();
  console.log('连麦信息更新', connectMicInfo);
});

二、连麦网络信息改变

说明: 连麦网络状态信息通过 connectMic.getNetworkInfo() 获取,当连麦网络状态信息改变时会触发该事件。

Event 事件: ConnectMicEvents.NetworkInfoChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

networkInfo

连麦网络信息

ConnectMicNetworkInfo

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.NetworkInfoChange, () => {
  const networkInfo = watchCore.connectMic.getNetworkInfo();
  console.log('网络状态改变', networkInfo);
});

三、讲师开启连麦功能

说明: 讲师开启连麦功能后,触发该事件,开启后页面即可显示连麦功能。

Event 事件: ConnectMicEvents.OpenConnectMic

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

type

连麦类型

ConnectMicType

示例:

import { ConnectMicType } from '@polyv/live-watch-sdk';
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.OpenConnectMic, (data) => {
  const type = data.type === ConnectMicType.Video ? '视频' : '音频';
  toast.info(`讲师开启了${type}连麦,赶快和主播连麦互动吧~`);
});

四、讲师关闭连麦功能

说明: 讲师关闭连麦功能后触发该事件

Event 事件: ConnectMicEvents.CloseConnectMic

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

type

连麦类型

ConnectMicType

示例:

import { ConnectMicType } from '@polyv/live-watch-sdk';
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.CloseConnectMic, (data) => {
  const type = data.type === ConnectMicType.Video ? '视频' : '音频';
  toast.info(`讲师已结束${type}连麦`);
});

五、连麦列表修改

说明: 当观众上下麦或用户流加入/退出后,连麦列表改变,通过该事件监听连麦用户列表更新。

Event 事件: ConnectMicEvents.ConnectMicListChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

connectMicList

连麦列表

ConnectMicItem[]

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ConnectMicListChange, () => {
  const connectMicList = watchCore.connectMic.getConnectMicList();
  console.log('连麦用户列表更新', connectMicList);
});

六、讲师挂断当前连麦者

说明: 当讲师挂断当前连麦用户,连麦模块将回调该事件。

Event 事件: ConnectMicEvents.TeacherHangUp

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.TeacherHangUp, () => {
  toast.info('讲师已挂断你的连麦');
});

七、邀请上麦

说明: 当讲师邀请观众上麦时触发该事件。

Event 事件: ConnectMicEvents.InviteConnectMic

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.InviteConnectMic, () => {
  watchCore.connectMic.openInviting();
});

八、邀请上麦回复

说明: 当学员对被邀请上麦是做处接受或拒绝操作时触发该事件

Event 事件: ConnectMicEvents.InviteConnectMicAnswer

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.InviteConnectMic, (data) => {
  console.log(`学员是否拒绝上麦:${data.accept}, 拒绝上麦是否是因为操作超时:${data.timeout}`)
});

九、设备采集失败

说明: 媒体设备(摄像头/麦克风)自动恢复采集失败,摄像头、麦克风接口松动,或被其他应用占用。恢复采集失败时触发该事件。

Event 事件: ConnectMicEvents.DeviceRecoverFail

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.DeviceRecoverFail, () => {
  toast.error('自动采集失败,请检查设备正常连接后刷新页面重新进入');
});

十、连麦人数到达上限

说明: 观众点击同意邀请上麦时,可能因连麦人数到达上限而连麦失败,通过该事件监听并页面提示。

Event 事件: ConnectMicEvents.ConnectMicOverLimit

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ConnectMicOverLimit, () => {
  toast.error('连麦失败,连麦人数已到达上限');
});

十一、当前主讲状态改变

说明: 当讲师授予/撤销当前连麦用户的主讲权限时触发该事件。

Event 事件: ConnectMicEvents.CurrentSpeakerStatusChanged

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

currentIsSpeaker

当前用户是否为主讲

boolean

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.CurrentSpeakerStatusChanged, (data) => {
  if (data.currentIsSpeaker) {
    toast.info('讲师已授予您主讲权限');
  } else {
    toast.info('讲师已收回您的主讲权限');
  }
});

十二、讲师同意连麦申请

说明: 观众申请连麦,讲师同意连麦申请后触发该事件。

Event 事件: ConnectMicEvents.AllowConnectMicApply

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.AllowConnectMicApply, (data) => {
  toast.success('讲师已同意你的连麦申请');
});

十三、本地流初始化成功

说明: 讲师同意连麦申请,本地流初始化完成后触发该事件,触发后即可推送本地连麦流。

Event 事件: ConnectMicEvents.LocalStreamInited

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

micItem

连麦用户节点

ConnectMicItem

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.LocalStreamInited, () => {
  watchCore.connectMic.publishLocalStream({
    element: 'NodeElement',
  });
});

十四、本地流推送成功

说明: 本地连麦流推送成功后触发该事件,触发后连麦状态为 ConnectMicStatus.Connected。

Event 事件: ConnectMicEvents.PublishStreamSuccess

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.PublishStreamSuccess, () => {
  toast.success('上麦成功');
  const connectMicInfo = watchCore.connectMic.getConnectMicInfo();
  console.log('连麦状态', connectMicInfo.conncetMicStatus); // ConnectMicStatus.Connected
});

十五、离开连麦成功

说明: 本地连麦流离开后触发该事件,触发后连麦状态为 ConnectMicStatus.NotConnect。

Event 事件: ConnectMicEvents.LeaveConnectMicSuccess

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.LeaveConnectMicSuccess, () => {
  toast.success('你已下麦');
  const connectMicInfo = watchCore.connectMic.getConnectMicInfo();
  console.log('连麦状态', connectMicInfo.conncetMicStatus); // ConnectMicStatus.NotConnect
});

十六、远端连麦用户麦克风开关改变

Event 事件: ConnectMicEvents.RemoteAudioMuteChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

micItem

连麦用户节点

ConnectMicItem

isAudioMuted

是否关闭麦克风

boolean

十七、远端连麦用户摄像头开关改变

Event 事件: ConnectMicEvents.RemoteVideoMuteChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

micItem

连麦用户节点

ConnectMicItem

isVideoMuted

是否关闭摄像头

boolean

十八、本地麦克风开关改变

Event 事件: ConnectMicEvents.LocalAudioMuteChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

micItem

连麦用户节点

ConnectMicItem

isAudioMuted

是否关闭麦克风

boolean

十九、本地摄像头开关改变

Event 事件: ConnectMicEvents.LocalVideoMuteChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

micItem

连麦用户节点

ConnectMicItem

isVideoMuted

是否关闭摄像头

boolean

二十、切换第一画面

说明: 讲师切换第一画面时触发该事件

Event 事件: ConnectMicEvents.SwitchMaster

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

currentMaster

当前第一画面的连麦用户节点

ConnectMicItem

previousMaster

上一次的连麦用户节点

ConnectMicItem

二十一、屏幕共享信息改变

说明: 屏幕恭喜信息改变时触发该事件

Event 事件: ConnectMicEvents.ScreenShareInfoChange

回调参数: Object 对象,详细类型说明如下

属性名
说明
类型

screenInfoChange

屏幕共享信息

ScreenShareInfo

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ScreenShareInfoChange, () => {
  const screenShareInfo = watchCore.connectMic.getScreenShareInfo();
  console.log('屏幕共享信息改变', screenShareInfo);
});

二十二、屏幕共享开始

说明: 观众开始屏幕共享时触发该事件。

Event 事件: ConnectMicEvents.ScreenShareStart

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ScreenShareStart, () => {
  toast.info('你已进入屏幕共享');
});

二十三、屏幕共享结束

说明: 观众结束屏幕共享时触发该事件。

Event 事件: ConnectMicEvents.ScreenShareStop

示例:

watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ScreenShareStart, () => {
  toast.info('你已退出屏幕共享');
});

Last updated

Was this helpful?