文档/白板功能
当老师在创建课堂时,可以选择视频+文档的方式进行上课,文档可以是课件,可以是图片,可以是Doc类型的文件,可以根据流的延迟进行同步播放,丰富课堂的场景。
文档显示View
文档的显示和绘制由SDK提供,XML布局代码如下 , 所有的功能由这个View实现。
<com.vhall.classsdk.widget.DocumentView
android:id="@+id/iv_doc"
android:layout_width="match_parent"
android:layout_height="match_parent" />
获取当前课堂的模式
文档分为 PPT文档和白板 0是文档 1是白板
VHClass.getInstance().getDocMode();
获取老师切换文档的消息
文档分为 PPT文档和白板 0是文档 1是白板
@Override
public void onMessageReceived(MessageServer.MsgInfo msgInfo) {
switch (msgInfo.event) {
case MessageServer.EVENT_CLASS_DOC_SWITCH: // 文档切换 0显示文档 1显示白板
// 更新绘制模式
mDocView.updateDrawMode(DocumentView.DRAW_MODE_WHITEBOARD);
break;
}
}
设置PPT的绘制模式
/**
* @param: DocumentView.DRAW_MODE_DOCUMENT //文档模式
* @param: DocumentView.DRAW_MODE_WHITEBOARD //白板模式
*/
mDocView.updateDrawMode(DocumentView.DRAW_MODE_WHITEBOARD);
获取PPT和白板的消息
当老师操作文档或者白板的时候,会发送一条条消息到SDK中,用户需要接受这些消息然后交给DocumentVIew去处理
@Override
public void onMessageReceived(MessageServer.MsgInfo msgInfo) {
switch (msgInfo.event) {
// 白板中的消息
case MessageServer.EVENT_CLEARBOARD:
case MessageServer.EVENT_DELETEBOARD:
case MessageServer.EVENT_INITBOARD:
case MessageServer.EVENT_PAINTBOARD:
if (documentFragment != null)
documentFragment.drawDocument(msgInfo);
break;
//文档消息
case MessageServer.EVENT_CHANGEDOC:
case MessageServer.EVENT_CLEARDOC:
case MessageServer.EVENT_PAINTDOC:
case MessageServer.EVENT_DELETEDOC:
if (documentFragment != null)
documentFragment.drawDocument(msgInfo);
break;
}
}
设置文档的Step
当收到消息后只需要调用PPT的Step即可
mDocView.setStep(msgInfo);