多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### 文件下载 AnyChat提供文件下载功能,支持从远程文件服务器上下载ppt、音频文件、视频文件等场景。 #### 下载控制宏定义 ``` var BRAC_SO_CORESDK_PPTHELPERINIT = 223; // PPT播报环境初始化 var BRAC_SO_CORESDK_PPTFILECTRL = 224; // PPT文件控制 //文件控制命令定义常量: var BRPPT_FILECTRL_DOWNLOAD = 0x01; ///< 下载文件 var BRPPT_FILECTRL_CANCEL = 0x02; ///< 取消下载 var BRPPT_FILECTRL_DELETE = 0x04; ///< 删除文件 //文件信息查询定义常量: var BRPPT_FILEINFO_DOWNLOAD_STATUS = 0x01; ///< 下载状态 var BRPPT_FILEINFO_PPTDETAILS = 0x02; ///< PPT详情 var ANYCHAT_SERVERQUERY_PPTFILEINFO = 10; // PPT文件信息 var ANYCHAT_CORESDKEVENT_PPTHELPER = 31; //< PPTHelper事件 var ANYCHAT_SDKCTRL_PPTHELPERINIT = 90; ///< PPT播报环境初始化 var ANYCHAT_SDKCTRL_PPTFILECTRL = 91; ///< PPT文件控制 var ANYCHAT_SDKCTRL_PPTFILEINFO = 92; ///< PPT文件信息 ``` #### 设置下载保存地址 ``` var json = { "savepath":"d:\\video" }; BRAC_SDKControl(ANYCHAT_SDKCTRL_PPTHELPERINIT, json) ``` #### 下载、取消下载、删除文件 ``` //下载 var json={ "ctrlcode":BRPPT_FILECTRL_DOWNLOAD, //0x01;< 下载文件 "fileid":fileid, //文件id,字符串型,可置空,但不建议(底层会生成GuID,但建议自定义) "fileurl":fileurl, //下载地址 "filemd5":filemd5, //文件md5值,可置空 "filetype":variable }; // variable 取值范围如下 var BRPPT_FILETYPE_PPT = 0x01 ///< ppt文件 var BRPPT_FILETYPE_VIDEO = 0x02 ///< 视频文件 var BRPPT_FILETYPE_AUDIO = 0x03 ///< 音频文件 var BRPPT_FILETYPE_COMMZIP = 0x04 ///< 普通zip文件 var BRPPT_FILETYPE_IMAGE = 0x05 ///< 图片 //取消下载 var json = { "ctrlcode": BRPPT_FILECTRL_CANCEL, ///< 取消下载 "fileid": fileid //文件id 之定义字符串 }; //删除文件 var json = { "ctrlcode": BRPPT_FILECTRL_DELETE, ///< 删除文件 "fileid": fileid //文件id 之定义字符串 }; BRAC_SDKControl(ANYCHAT_SDKCTRL_PPTFILECTRL, json); ``` #### 获取下载状态 ``` var json = { "infocode": BRPPT_FILEINFO_DOWNLOAD_STATUS, // 0x01; < 下载状态 "fileid": fileid // 文件id }; var result = BRAC_SDKControl(ANYCHAT_SDKCTRL_PPTFILEINFO, json); //返回result { "downloadsize": 12193, //已经下载的大小 "errorcode": 0, //错误码 "fileid": "20170516", //文件id "filetotalsize": 151890, //文件总大小 "progress": 8 //文件进度 0-100 百分比 } ``` #### 获取下载的详细信息 ``` json = { "infocode": BRPPT_FILEINFO_PPTDETAILS, //0x02; 详情 "fileid": fileid // 文件id }; result = BRAC_SDKControl(ANYCHAT_SDKCTRL_PPTFILEINFO, json); //result 返回结果 { "details": { "audio_address": "audio\1.mp3", // ppt 音频文件相对压缩包根目录路径 "pptlist": [ { "audio_end": 5, // 第一页ppt播放结束时间(s) "audio_start": 0, // 第一页ppt播放开始时间(s) "ppt_address": "ppt\1.jpg" // 第一页ppt 相对压缩包根目录路径 }, { "audio_end": 24, "audio_start": 5, "ppt_address": "ppt\2.jpg" }, ] }, "errorcode": 0, "fileid": "20170516", //文件id "filepath": "d:\video\temp\ppt\20170516\", //压缩包解压后的所在目录路径,如果下载类型是视频文件、音频文件、图片文件,这个为绝对路径获取无需拼接 "filetype": variable } //variable的返回范围如下 var BRPPT_FILETYPE_PPT = 0x01 ///< ppt文件 var BRPPT_FILETYPE_VIDEO = 0x02 ///< 视频文件 var BRPPT_FILETYPE_AUDIO = 0x03 ///< 音频文件 var BRPPT_FILETYPE_COMMZIP = 0x04 ///< 普通zip文件 var BRPPT_FILETYPE_IMAGE = 0x05 ///< 图片 ``` #### 下载完成回调 下载完成会后触发AnyChatCoreSDK异步事件 ``` // AnyChatCoreSDK异步事件 function OnAnyChatCoreSDKEvent(dwEventType, lpEventJsonStr) { switch (parseInt(dwEventType)) { // 因为有多种回调都触发该事件,所以根据dwEventType来判断是否为下载完成的事件。 case ANYCHAT_CORESDKEVENT_PPTHELPER: OnAnyChatPPT(lpEventJsonStr); break; } } ```