事件监听

最近更新时间:2024-08-21 17:46:41

我的收藏

使用场景

在实际业务需求中,您可能需要在特定事件发生时进行与业务相关的处理,例如:
当上课正式开始时,向业务后台进行一些上报处理。
当成员加入房间时,向成员展示弹窗。

事件列表(TCIC.TMainEvent)

Event
事件
After_Enter
已加入房间
Modify_Class
房间信息已更改
Leave_Class
离开房间
Kick_Out_By_Teacher
被踢出房间
Kick_Out_By_Another
多端登录被踢出房间
Kick_Out_By_Expire
签名过期被踢出房间
Member_Join
成员加入房间
Member_Exit
成员退出房间
Member_Info_Update
成员信息更新
Member_Hand_Up
成员举手
Member_Hand_Up_Cancel
成员取消举手
Question_Valid
存在可用答题
Question_Begin
答题开始
Question_End
答题结束
Question_Abandon
终止答题
Question_Close
关闭答题
Question_Been_Answered
有学生作答
App_Resized
应用大小变化
Error
发生错误(影响主线流程)
Recv_IM_Msgs
收到IM消息
Recv_Custom_IM_Msg
收到自定义IM消息
使用示例:
function afterEnter() => {
  console.debug('You have joined this room');
}

// 监听
TCIC.SDK.instance.on(TCIC.TMainEvent.After_Enter, afterEnter);

// 取消监听
TCIC.SDK.instance.off(TCIC.TMainEvent.After_Enter, afterEnter);

状态列表(TCIC.TMainState)

Event
事件
备注
Class_Info_Ready
课堂信息已加载
-
Joined_Class
已加入课堂
-
Sub_Camera
辅助摄像头状态
0:开始
2: 结束
Screen_Share
屏幕分享状态
0:分享中
1:暂停中
2:未开始/已结束
Video_Publish
本地视频推流是否开启
-
Audio_Capture
本地音频采集是否开启
-
Class_Duration
课堂持续时间
单位秒;
< 0:未到上课时间,距离上课开始的时间
= 0:到上课时间未开始上课、课堂已结束、课堂已过期
> 0:上课中,已开始上课的时间
Member_Count
课堂当前在线成员数量
仅学生在线数,不包含老师、助教和巡课
Board_Permission
白板操作权限
-
Chat_Permission
文字聊天权限
-
Screen_Share_Permission
屏幕分享权限
-
Hand_Up
举手状态
-
Mute_All
全员静音状态
-
Mute_Video_All
全员视频状态
-
Silence_All
全员禁言状态
-
Message_Unread_Count
未读消息
-
HandUp_Count
举手人数
-
// promiseState 可以确保当前状态满足条件的时候立即执行一次
TCIC.SDK.instance.promiseState(TCIC.TMainState.Joined_Class, true).then( () => {
  console.debug('You have joined this room');
});


function listener() {
console.debug('You have joined this room');
}
// 监听
TCIC.SDK.instance.subscribeState(TCIC.TMainState.Joined_Class, listener);

// 取消监听
TCIC.SDK.instance.unsubscribeState(TCIC.TMainState.Joined_Class, listener);