文档反馈
文档反馈

视频载入

互动白板既提供了工具栏,支持用户将视频上传至云信nos服务器,并加载到白板中。也支持直接通过url方式添加视频。目前支持上传mp4视频格式。

工具栏配置

items: [
    //其他工具
    {
        tool: 'video'
    }
]

SDK接口

调用下面接口可以上传视频。如果没有设置boardName,则默认为当前文档。如果pageIndex未传入,则默认为调用该函数时的页面。

drawPlugin.addVideo({
    url: string,
    sourceType: string,     //视频文件的格式, 如: 'mp4'等
    title?: string
    width?: number,
    pageIndex?: number,
    boardName?: string,
})

图片载入

互动白板既提供了工具栏,支持用户将图片上传至云信nos服务器,并加载到白板中。也支持直接通过url方式添加图片。

工具栏配置

items: [
    //其他工具
    {
        tool: 'image'
    }
]

SDK接口

调用下面接口可以上传图片。其中url可以是图片URL地址,亦可以是base64编码地址。如果没有设置boardName,则默认为当前文档。如果pageIndex未传入,则默认为调用该函数时的页面。

drawPlugin.addImage({
    url: string,
    width: number,
    height: number,
    pageIndex?: number,
    boardName?: string,
})

图片导出

互动白板可以将当前白板页的内容导出为图片。用户可以通过配置工具栏开启该功能。若用户想要自定义工具栏,也可以调用互动白板的接口。

工具栏配置

items: [
    //其他工具
    {
        tool: 'exportImage'
    }
]

SDK接口

调用下面接口可以导出图片

drawPlugin.exportAsImage()

客户端适配

客户端需要开启一些权限,以及适配代码,才能够从客户端中选择图片资源。具体的对接方法如下:

ios

  1. Info.plist中设置相册请求描述信息,支持app请求相册权限

  2. 设置SDK的wkDelegate,接收webView的相关回调,根据回调信息判断是否是IMG标签,保存图片

@property(nonatomic, weak) id<NMCWhiteboardManagerWKDelegate> wkDelegate;

- (void)onDecidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    NSString *requestString = navigationAction.request.URL.absoluteString;
    //判断是否是IMG
    if(navigationAction.navigationType == WKNavigationTypeLinkActivated && [requestString rangeOfString:@"data:image/png;base64,"].location != NSNotFound) {
        NSString *dataString = [requestString stringByReplacingOccurrencesOfString:@"data:image/png;base64," withString:@""];
        NSData *imageData = [[NSData alloc]initWithBase64EncodedString:dataString options:NSDataBase64DecodingIgnoreUnknownCharacters];;
        UIImage *image = [UIImage imageWithData:imageData];
        //TODO:
        //save image


        decisionHandler(WKNavigationActionPolicyCancel);
    }else {
        decisionHandler(WKNavigationActionPolicyAllow);
    }
}

Qt Quick(windows&macOS)

监听WebEngineView的DownloadRequested信号,并调用accept()接收该信号

    WebEngineView {
        id: webview
        anchors.fill: parent
        url: whiteboardUrl
        webChannel: channel

        property var downloads;
        profile.onDownloadRequested: {
            var arr = download.path.split('/');
            var name = arr[arr.length - 1];
            download.path = defaultDownloadPath + "/" + name;
            webview.downloads = download;
            download.accept();
        }

        profile.onDownloadFinished: {
            downloadFinished(download.path)
        }
    }
×

反馈成功

非常感谢您的反馈,我们会继续努力做得更好。