观看文档准备
-
获取 频道ID channelID
-
获取包含文档权限的access_token
工程配置
在开始使用sdk之前,我们要配置好IDE和创建基础的工程代码。相关内容在【工程配置】中有详细说明。
对接流程
1 创建 VHOPS
文档的构建有两种方式:第一种,通过channelId和accessToken构建,适用于独立的文档直播场景;第二种,通过recordId构建,适用于观看录播的过程中,观看此录播对应的文档。
// 第一步创建 VHDocument 对象 , 传入对应的参数
mDocument = new VHOPS(mChannelId, "", mAccessToken);
2 设置文档的显示区域
// VHDocumentView 是SDK中提供用来显示文档的控件
view = (VHOPSView) this.findViewById(R.id.doc);
// 获取到VHDocumentView的实例添加到Document中
document.setDocumentView(view);
3 加入频道
调用Join()加入频道,获取Document的服务和消息.
document.join();
4 设置监听
监听文档服务回调出来的事件,包含当前页、步和总页、总步等.
mDocument.setEventListener(new VHOPS.OnEventListener() {
@Override
public void onEvent(JSONObject object) {
Log.i(TAG, "object:" + object.toString());
mPageView.setText("页数:" + (object.optInt("currentPage") + 1) + "/" + object.optInt("page"));
mStepView.setText("步数:" + (object.optInt("currentStep") + 1) + "/" + object.optInt("step"));
}
});
5 离开频道
调用leave()加入频道,终止Document的服务和消息.
document.leave();
6 设置是否可操作文档(重要)
开启文档编辑,可操作文档,涂鸦或翻页等,观看端会同步展示操作展示 目前在使用过程中,尽量保持同一时间内,只有一个使用者有编辑文档权限。
mDocument.getView().setEditable(false);
以下是文档操作接口示例,只有有文档操作权限才能调用
7 翻页、翻步数
mDocument.getView().preSlide();
mDocument.getView().nextSlide();
mDocument.getView().preStep();
mDocument.getView().nextStep();
8 设置操作类型(添加、修改、删除)
mDocument.getView().setAction(IVHOPS.DrawAction.ADD);
9 设置涂鸦类型
mDocument.getView().setDrawType(type);
10 设置文档
mDocument.getView().setDoc(docid);
11 文档上传
/**
* 文档上传
* @param filePath 文件路径
* @param rename 重命名
* @param accessToken
* @param callback
*/
public static void upload(String filePath, String rename, String accessToken, final DocCallback callback)
/**
* 获取上传文件限制说明
* @return
*/
public static String getUploadConfig()