### **创建上传文件任务**
AnyChatUploadTask.createFileUploadTask(uploadOpt: AnyChatFileUploadOpt, e: AnyChatFileUploadEvent)
#### 接口说明:
创建文件上传到服务器的任务(注:需要初始化)
#### 接口参数简介:
| 名称 | 类型 | 说明 | 是否必须 |
| --- | --- | --- | --- |
| uploadOpt| AnyChatFileUploadOpt | 文件上传配置类 | 是 |
| e | AnyChatFileUploadEvent | 文件上传状态与结果回调 | 是 |
#### AnyChatFileUploadOpt 文件上传配置类简介:
| 名称 | 类型 | 说明 | 是否必须 |
| --- | --- | --- | --- |
| localPath| string| 要上传文件的绝对路径 | 是 |
| intervalTime| number | 返回文件上传状态时间间隔,单位:s | 否 |
| filename| string | 指定文件上传后的目标文件名 | 否 |
| category| string | 表示文件上传分类子目录,通过设置改字段可将文件上传到不同分类子目录中 | 否 |
| encryptionKey| string | 上传一个已加密录像视频文件(参考录制章节),在上传到服务器时,该文件将自动被解密。根据加密的录像视频文件的加密秘钥,设置相同的解密密钥 | 否 |
| isOverlayUpload|boolean| 是否覆盖上传(默认值true相同文件覆盖上传) | 否 |
| maxBitrate| number| 文件上传传输最大码率控制(为0时表示不限制,以最快速率传输[默认];否则表示限制码率,单位为:bps) | 否 |
| strJson | string | 文件上传用户自定义参数(标准json字符串形式) | 否 |
#### AnyChatUploadTask任务类简介:
| 方法 | 说明 | 返回参数 |
| --- | --- | --- |
| start( )| 开始传输 | void |
| cancel( ) | 取消传输 | void |
| getStatus( )| 主动查询发送状态 | AnyChatTaskState 对象<br> AnyChatTaskState.process 传输进度 (0.0-100.0)<br>AnyChatTaskState.bitRate 传输码率,单位为 bps<br>AnyChatTaskState.status 1--准备; 2--传输中; 3--完成; 4--任务被取消 |
#### AnyChatFileUploadEvent回调简介:
| 返回值 | 名称 | 参数(类型):说明 | 接口说明 | 备注 |
| --- | --- | --- | --- | --- |
| void | onFileUploadDone | result(AnyChatResult) :执行结果<br> JsonData(object):返回数据 | 文件上传成功通知事件 | result.code: 0表示成功,其他表示错误代号<br/>result.msg: 错误描述<br>JsonData.FileName:文件名<br>JsonData.dwUserid: 用户id,指示发送用户<br>JsonData.TempFilePath:接收完成后,SDK 保存在本地的临时文件(包含完整路径)<br>JsonData.dwFileLength:文件总长度 <br>JsonData.dwTaskId:该文件所对应的任务编号 <br> <br>JsonData.taskId 任务ID|
| void | OnTaskStatusChanged | JsonData(object):返回数据 |文件上传过程状态通知事件 |JsonData.taskId 任务ID<br>JsonData.process 传输进度 (0.0-100.0)<br>JsonData.bitRate 传输码率,单位为 bps<br>JsonData.status 1--准备; 2--传输中; 3--完成; 4--任务被取消<br> |
#### 示例代码:
```
//文件上传配置类
let uploadOpt = new AnyChatFileUploadOpt();
//设置上传文件的绝对路径信息
uploadOpt.setLocalPath(filePath);
//设置返回文件上传状态时间间隔,单位:s
uploadOpt.setIntervalTime(1);
//创建文件上传任务
let uploadTask: AnyChatUploadTask = instance.createFileUploadTask(uploadOpt, {
onFileUploadDone(result: AnyChatResult, json: object) {
}
onTaskStatusChanged(json: object) {
}
});
//开始上传
uploadTask.start();
```
- SDK介绍
- 工程准备
- 获取AnyChatHarmonySDK
- 导入SDK文件
- 混淆加固
- 开发流程
- 初始化SDK
- 初始化及自动登录
- 退出及释放连接
- 版本信息查询
- 登录方式说明
- 服务器连接断开通知事件
- 会话保持注册和销毁事件
- 房间管理
- 注册房间管理事件
- 注销房间管理事件
- 进入房间
- 获取房间中的用户列表
- 房间内的文字交流
- 退出房间
- 音视频操作
- 音视频互动
- 本地麦克风管理
- 打开本地麦克风
- 关闭本地麦克风
- 本地摄像头管理
- 打开本地摄像头
- 关闭本地摄像头
- 切换本地摄像头
- 接收/终止对方音频流
- 接收远程音频流
- 关闭远程音频流
- 接收/终止对方视频流
- 获取远程视频流
- 关闭远程视频流
- 视频呼叫
- 注册视频呼叫事件
- 客户呼叫
- 客户取消呼叫
- 接听视频呼叫
- 拒绝接听
- 挂断通话
- 注销视频呼叫事件
- 录制(录音录像)
- 开始录制
- 在录制文件中添加图片水印
- 在录制文件中添加文字水印
- 在录像中插入图片
- 更新录像参数
- 结束录制
- 视频拍照
- 抓拍
- 音视频参数配置
- 视频参数配置
- 音频参数配置
- 文件传输
- 初始化文件模块
- 注册文件接收通知事件
- 注销文件接收通知事件
- 创建文件传输任务
- 文件管理
- 初始化文件模块
- 创建文件上传任务
- 创建文件下载任务
- 透明通道
- 发送透明通道
- 注册接收透明通道通知事件
- 注销接收透明通道通知事件
- 智能排队
- 初始化排队模块
- 营业厅操作
- 获取营业厅列表
- 进入营业厅
- 席座服务状态设置
- 离开营业厅
- 排队操作
- 进入队列
- 取消排队
- 状态查询
- 查询坐席状态
- 查询队伍排队人数
- 查询当前排队时间
- 查询用户所在队列的当前位置
- 查询服务区域内排队的用户数
- 查询营业厅内的坐席数
- 注册队列状态变化事件的监听
- 注销队列状态变化事件的监听
- 双录
- 基本流程
- 自助双录
- 远程双录
- 双录接口说明
- PPT资源下载
- 下载任务初始化
- 开始下载
- 取消下载
- 查询资源下载状态
- 查询资源详细信息
- 资源播放
- 媒体资源播放
- 播放
- 暂停
- 停止
- 销毁
- 获取当前播放信息
- 播放状态回调接口
- 时间戳
- 水印
- 用户相关的查询接口
- 查询用户名
- 错误码