互动课堂接口文档

最近更新时间:2020-09-17 11:17:13

回调接口

IM 消息回调接口(TICMessageListener)

收到 C2C 文本消息回调函数

void onTICRecvTextMessage(String fromUserId, String text);
参数值 类型 说明
fromUserId String 消息发送者的 ID
text String 收到消息的文本

收到 C2C 自定义消息回调函数

void onTICRecvCustomMessage(String fromUserId, byte[] data);
参数值 类型 说明
fromUserId String 消息发送者的 ID
data byte[] 收到消息的内容

收到群组文本消息回调函数

void onTICRecvGroupTextMessage(String fromUserId,  String text);
参数值 类型 说明
fromUserId String 消息发送者的 ID
text String 收到消息的文本

收到群组自定义消息回调函数

void onTICRecvGroupCustomMessage(String fromUserId, byte[] data);
参数值 类型 说明
fromUserId String 消息发送者的 ID
data byte[] 收到消息的内容

收到消息回调函数

void onTICRecvMessage(TIMMessage message);
参数值 类型 说明
message TIMMessage TIM 的原始消息体

IM 状态回调接口(TICIMStatusListener)

收到在其他设备登录挤下线回调函数

void onTICForceOffline();
说明:

此函数回调可以类比在一个手机上登录 QQ 后,又在另一台手机上登录此账号时,第一个手机被挤下线的情况。

用户 Sig 值过期的回调函数

void onTICUserSigExpired();

TIC 事件回调接口(TICEventListener)

对应的远端主路(即摄像头)画面的状态通知

void onTICUserVideoAvailable(String userId, boolean available);
参数值 类型 说明
userId String 用户标识
available boolean 画面是否开启
说明:

当 available 为 YES 时,您可以在这个回调中调用 startRemoteView 显示此 userId 的视频画面。

对应的远端辅路(屏幕分享等)画面的状态通知

void onTICUserSubStreamAvailable(String userId, boolean available);
参数值 类型 说明
userId String 用户标识
available boolean 画面是否开启
说明:

显示辅路画面使用的函数不是 startRemoteView 而是 startRemoteSubStreamView。

对应的远端声音的状态通知

void onTICUserAudioAvailable(String userId, boolean available);
参数值 类型 说明
userId String 用户标识
available boolean 画面是否开启

当有用户进入课堂的状态通知

void onTICMemberJoin(List<String> userList);
参数值 类型 说明
userList List<String> 进入课堂的用户列表

当有用户退出课堂的状态通知

void onTICMemberQuit(List<String> userList);
参数值 类型 说明
userList List<String> 退出课堂的用户列表

视频断开的状态通知

void onTICVideoDisconnect(int errCode, String errMsg);
参数值 类型 说明
errCode int 错误码
errMsg String 错误信息描述

退出课堂的状态通知

void onTICClassroomDestroy();

发送离线录制对时信息的通知

void onTICSendOfflineRecordInfo(int code, final String errMsg);
参数值 类型 说明
code int 错误码
errMsg String 错误信息描述
说明:

进房成功后,TIC 会自动发送离线录制需要的对时信息;只有成功发送对时信息的课堂才能进行课后离线录制。

具体接口

初始化和销毁接口

初始化互动课堂引擎

int init(Context context, int appId);

返回值:如果为0则表示成功,否则初始化失败。

参数值 类型 说明
context context 应用上下文
appId appId 应用的标识

反初始化互动课堂引擎

int unInit();

返回值:如果为0则表示成功,否则反初始化失败。

获取 Trtc 视频引擎

TRTCCloud getTRTCClound();

返回值:如果为非空则表示成功,否则失败。

获取白板控制器

TEduBoardController getBoardController();

返回值:如果为非空则表示成功,否则失败。

登录/登出接口

登录 IM

 void login(String userId, String userSig, TICCallback callBack);
参数值 类型 说明
userId String 用户的 ID
userSig String 用户的 Sig 值
callBack TICCallback 登录成功与否的回调

注销登录 IM

 void logout(final TICCallback callBack);
参数值 类型 说明
callBack TICCallback 注销登录结果回调

创建/销毁课堂接口

创建课堂

 void createClassroom(int classId, TICCallback callback);
参数值 类型 说明
classId int 创建的课堂号
callBack TICCallback 创建成功与否的回调

销毁课堂

 void destroyClassroom(int classId, TICCallback callbac);
参数值 类型 说明
classId int 销毁的课堂号
callBack TICCallback 销毁成功与否的回调

进入/退出课堂接口

加入互动课堂

 void joinClassroom(TICClassroomOption option, TICCallback callback);
参数值 类型 说明
option TICClassroomOption 加入课堂参数选项
callBack TICCallback 加入成功与否的回调

TICClassroomOption 参数说明(各个平台的参数有微小差距,以下以 iOS 为例)

参数值 类型 默认值 说明
classId UInt32 - 课堂 ID
bFrontCamera BOOL false 是否开启前置摄像头
bOpenCamera BOOL false 是否开启摄像头
bOpenMic BOOL false 是否打开麦克风
renderView UIView - 画面渲染
ntpServer NSString time1.cloud.tencent ntp 服务器
boardInitParam TEduBoardInitParam - 白板初始化参数,具体定义请参考 白板文档
boardDelegate id - 白板回调
classScene TICClassScene TIC_CLASS_SCENE_VIDEO_CALL 课堂场景
roleType TICRoleType - 课堂角色
compatSaas BOOL false 是否兼容 SaaS

退出课堂

 void quitClassroom(boolean clearBoard, TICCallback callbac);
参数值 类型 说明
clearBoard boolean 把白板数据全部清除
callBack TICCallback 退出成功与否的回调

消息发送接口

发送 C2C 文本消息

 void sendTextMessage(String userId, String text, TICCallback<TIMMessage> callBack);
参数值 类型 说明
userId String 为 C2C 消息接收者
text String 文本消息内容
callBack String 加入成功与否的回调

发送 C2C 自定义消息

 void sendCustomMessage(String userId, byte[] data, TICCallback<TIMMessage> callBack);
参数值 类型 说明
userId String 为 C2C 消息接收者
data byte 自定义消息内容
callBack String 加入成功与否的回调

发送 C2C 通用互动消息

 void sendMessage(String userId, TIMMessage message, TICCallback<TIMMessage> callBack);
参数值 类型 说明
userId String 为 C2C 消息接收者
message TIMMessage 文本消息内容
callBack String 加入成功与否的回调
说明:

此接口需要自已组织 TIMMessage 结构,然后进行发送。

发送群组文本消息

 void sendGroupTextMessage(String groupId, String text, TICCallback<TIMMessage> callBack);
参数值 类型 说明
groupId String 群组号
text String 文本消息内容
callBack String 加入成功与否的回调

发送群组自定义消息

 void sendGroupCustomMessage(String groupId, byte[] data, TICCallback<TIMMessage> callBack);
参数值 类型 说明
groupId String 群组号
data byte 自定义消息内容
callBack String 加入成功与否的回调

发送群组通用互动消息

 void sendGroupMessage(String groupId, TIMMessage message, TICCallback<TIMMessage> callBack);
参数值 类型 说明
groupId String 群组号
message TIMMessage 文本消息内容
callBack String 加入成功与否的回调
说明:

此接口需要自已组织 TIMMessage 结构,然后进行发送。

回调注册接口

添加事件观察者

void addEventListener(TICEventListener callback);
参数值 类型 说明
callback TICEventListener 事件的观察者

删除事件观察者

void removeEventListener(TICEventListener callback);
参数值 类型 说明
callback TICEventListener 事件的观察者

添加 IM 状态观察者

void addIMStatusListener(TICIMStatusListener callback);
参数值 类型 说明
callback TICIMStatusListener 事件的观察者

删除 IM 状态观察者

void removeIMStatusListener(TICIMStatusListener callback);
参数值 类型 说明
callback TICIMStatusListener 事件的观察者

添加 IM 消息观察者

void addIMMessageListener(TICMessageListener callback);
参数值 类型 说明
callback TICMessageListener 事件的观察者

删除 IM 消息观察者

void removeIMMessageListener(TICMessageListenercallback);
参数值 类型 说明
callback TICMessageListener 事件的观察者

录制相关接口

发送离线录制对时信息的通知

void sendOfflineRecordInfo(TICMessageListenercallback);
说明:

  1. 在 TIC 内部进房成功后会自动发送离线录制对时信息,如果发送失败回调 onTICSendOfflineRecordInfo 接口,用户可调用此接口触发重试;
  2. 对时信息的作用是将每个客户端使用的时间与 NTP Server 进行对齐,统一课程录制的基准时间。
目录