文档批注

本指南为您快速地在应用中集成文档标注、录屏功能加以说明。

在进一步讨论之前,确定您已经在BeTalk注册了您的应用程序。

1. 工作区设置

请参照会议第1步

2. 更新AndroidMaifest.xml

请参照会议第2步

3. 实现登录/登出功能

请参照会议第3步

4. 创建文档标注

要创建一个文档标注,你需要先获得BTClipManager的一个实例。

获取实例:

static publicBTClipManagergetInstance();

得到BeTalk文档标注管理器的一个实例。

示例代码:

BTClipManager clipMgr = BTClipManager.getInstance();

在你的应用程序查看创建文档标注

public void recordClipWithView(Activity activity, final OnBTClipListener listener);

获取从您的应用程序的屏幕内容,添加语音说明,并可以从您的应用程序共享视频片段。

参数:

名称 描述
activity 如果设置为null则记录应用上的屏幕,记录将在应用程序屏幕上,否则,将只记录指定的活动。当活动被破坏,将停止录音,发送录制失败参数错误代码失败的回调:BTClipError.BTCLIP_ERROR_CLIPPED_VIEW_HAS_DESTROYED。
listener 监听标注事件。请检查OnBTClipListener了解详细信息。
Unauthorized 用户没有成功初始化
ClipIsInProgress 另一个标注已经在进行中
InvalidParameter 输入参数是无效的

例:

try {
    BTClipManager.getInstance().recordClipWithView(this, this);
} catch (ClipIsInProgress e) {
    clipInProgress();
} catch (Unauthorized e) {
    unauthorized();
}

创建标注文档和图像

Public void recordClipWithLocalFiles(final List<String> filePath, final OnBTClipListener listener);

批注,为文档、图片添加语音评论,让用户在您的应用程序共享标注和视频。

注:单个文件大小限制为100M。

参数:

名称 描述
filePath 本地设备文件的路径
listener 监听标注活动。请检查OnBTClipListener了解详细信息
Unauthorized 用户没有成功初始化
ClipIsInProgress 另一个标注正在进行中
InvalidParameter 输入参数是无效的

例:

try {
    BTClipManager.getInstance().recordClipWithLocalFiles(Arrays.asList(path1), this);
} catch (IOException e) {
    e.printStackTrace();
} catch (InvalidParameter e) {
    e.printStackTrace();
} catch (ClipIsInProgress e) {
    clipInProgress();
} catch (Unauthorized e) {
    unauthorized();
}

为远程文件添加标注

录制视频或注释远程文件,需要得到BTClipManager实例,并调用API:

public void recordClipWithRemoteFiles (final OnBTClipListener listener)

例:

try {
    BTClipManager.getInstance().recordClipWithRemoteFiles(this);
} catch (ClipIsInProgress e) {
    clipInProgress();
} catch (Unauthorized e) {
    unauthorized();
}

监听回调:

public void onClipPrepareSuccess(String binderID, String token)

收到后,调用API设置远程文件ID:

public void setRecordClipRemoteFileIDs(List<String> fileUniqueIDArray)

然后通过REST API上传文件到BeTalk服务器。

例:

String path1 = f1.getAbsolutePath();
String path2 = f2.getAbsolutePath();
String uuid1 = UUID.randomUUID().toString();
String uuid2 = UUID.randomUUID().toString();

String url1 = String.format("https://www.BeTalk.com/board/%s/%s?type=original&client_uuid=%s&t=%s", binderID, "file1.pdf", uuid1, path1);
String url2 = String.format("https://www.BeTalk.com/board/%s/%s?type=original&client_uuid=%s&t=%s", binderID, "file2.pdf", uuid2, path2);

BTClipManager.getInstance().setRecordClipRemoteFileIDs(Arrays.asList(uuid1, uuid2));
// Upload the file via rest API

如果上传中出现错误,调用API来重置用户界面:

public void uploadRecordClipRemoteFilesFailed()

 注:

1. 单个文件大小限制为100M。

2. setRecordClipRemoteFileIDs()在上传之前应调用,否则,它可能会错过一些服务器进程,造成标注失败。