说明:
状态相关方法
// 设置状态值TCIC.SDK.instance.setState(name ,val)/*** promiseState可以确保当前状态满足条件的时候立即执行一次。*/TCIC.SDK.instance.promiseState(name,val)/*** 获取状态值*/TCIC.SDK.instance.getState(name)/*** 示例:* 当TCIC.TMainState.School_Info_Ready为true时,立即执行一次*/TCIC.SDK.instance.promiseState(TCIC.TMainState.School_Info_Ready, true).then(() => {/*** 表示此时可以获取到学校信息*/console.log("DEMO:::schoolInfo:", TCIC.SDK.instance.getSchoolInfo());});
流程状态
说明:
进入课堂时,打开控制台,过滤
setState
字段可以看到状态设置时序。多刷新几次会发现状态流程是固定的,有些逻辑是在状态修改后触发,例如加载自定义js/css 文件是在学校信息获取才开始。下图是部分流程状态值说明。
下表是部分属性的说明:
含义 | 状态名 | 类型 | 备注 |
学校信息已获取 | TCIC.TMainState.School_Info_Ready | Boolean | 自定义 js/css 地址是从获取学校信息接口中获取,第三方业务逻辑将从这个事件后开始执行。 |
课堂信息已获取 | TCIC.TMainState.Class_Info_Ready | Boolean | |
加入TRTC房间 | TCIC.TMainState.Joined_TRTC | Boolean | 在改状态改变后,用户才能使用 TRTC 房间相关功能,例如开启麦克风或者打开视频。 |
是否进行设备检测 | TCICUI.Constant.TStateDeviceDetect | Boolean | 需要连麦视频的用户完成设备检测才进入房间可以减少连麦异常的情况。 |
示例:
//屏蔽设备检测功能TCIC.SDK.instance.setState(TCICUI.Constant.TStateDeviceDetect ,false)
课堂事件
除开状态之外,我们还提供很多课堂事件以供使用。打开课堂控制台,过滤
Tevent::
可以观察到很多事件行为打印。
提供交互的事件方法如下:
/*** 监听事件*/TCIC.SDK.instance.on(eventname, callback);/*** 取消监听事件*/TCIC.SDK.instance.off(eventname, callback);
下表是部分事件说明,事件可以在 TCIC.TMainEvent/TCIC.TIMEvent 里找到:
属性名 | 说明 |
TCIC.TMainEvent.Show_Msg_Box | |
TCIC.TMainEvent.Member_Join | 课堂有人加入时会触发此事件。 |
TCIC.TIMEvent.Recv_Msg | 收到消息时触发事件,可以获取消息内容。 |
TCIC.TIMEvent.Send_Msg | 发送消息时触发事件,可以获取消息内容。 |
其它相关文档