### **創建上傳文件任務**
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資源下載
- 下載任務初始化
- 開始下載
- 取消下載
- 查詢資源下載狀態
- 查詢資源詳細信息
- 資源播放
- 媒體資源播放
- 播放
- 暫停
- 停止
- 銷毀
- 獲取當前播放信息
- 播放狀態回調接口
- 時間戳
- 水印
- 用戶相關的查詢接口
- 查詢用戶名
- 錯誤碼