模組事件
一、連麥資訊改變
說明: 連麥資訊透過 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.connectMicStatus); // ConnectMicStatus.Connected
});
十五、離開連麥成功
說明: 本地連麥流離開後觸發該事件,觸發後連麥狀態為 ConnectMicStatus.NotConnect。
Event 事件: ConnectMicEvents.LeaveConnectMicSuccess
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.LeaveConnectMicSuccess, () => {
toast.success('你已下麦');
const connectMicInfo = watchCore.connectMic.getConnectMicInfo();
console.log('连麦状态', connectMicInfo.connectMicStatus); // 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('你已退出屏幕共享');
});
二十四、舉手申請連麥逾時
說明: 觀眾舉手申請連麥逾時時觸發該事件。
Event 事件: ConnectMicEvents.ApplyTimeOut
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.ApplyTimeOut, () => {
toast.info('你已申请超时');
});
二十五、前後攝影機切換
說明: 前後攝影機切換時觸發該事件
Event 事件: ConnectMicEvents.FacingModeChange
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.FacingModeChange, () => {
toast.info(watchCore.connectMic.getConnectMicInfo().facingMode);
});
二十六、用戶流播放失敗
說明: 用戶流播放失敗時觸發該事件
Event 事件: ConnectMicEvents.UserStreamPlayFailed
回調參數: Object 物件,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
streamId |
流ID | string |
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.UserStreamPlayFailed, (data) => {
toast.error('用户流播放失败');
});
二十七、邀請上麥倒數計時
說明: 收到講師邀請後,距離自動拒絕的剩餘時間發生變化時觸發該事件,開發者可用於自定義邀請上麥 UI 的倒數計時顯示。
Event 事件: ConnectMicEvents.InviteCountDown
回調參數: InviteCountDownData
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.InviteCountDown, (data) => {
console.log(`剩余 ${data.remain}s / 总 ${data.total}s`);
});
二十八、本地音視訊開關變更(預設 / 預覽階段)
說明: 未連麥時(預設 / 預覽階段)本地攝影機、麥克風開關發生變化時觸發,例如在設備檢測面板中修改了設備開關。開發者可用於同步自定義連麥面板的設備按鈕狀態。
Event 事件: ConnectMicEvents.LocalMuteStatusChange
回調參數: Object 物件,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
video |
是否關閉攝影機 | boolean |
audio |
是否關閉麥克風 | boolean |
範例:
watchCore.connectMic.eventEmitter.on(ConnectMicEvents.LocalMuteStatusChange, (data) => {
console.log('摄像头是否关闭:', data.video, '麦克风是否关闭:', data.audio);
});
