### **開發流程**
在工程準備好了之后,只需簡單的幾步,即可實現基礎的音視頻通話。
#### **1.初始化SDK**
加載資源,應用程序中只需要執行一次,其他的功能接口都必須在初始化之后才能正常使用。
```
const anychatSDK: AnyChatSDK = AnyChatSDK.getInstance();
// 注冊重連失敗監聽
anychatSDK.registerLinkCloseEvent(this);
const loginEvent : AnyChatLoginEvent = {
//連接成功通知
onLogin(userId: number) {
//data.userId 登錄人賬戶
}
//連接斷開,原因可能有簽名錯誤,重復登錄,網絡異常斷開...
onDisconnect(result: AnyChatResult) {
//result.errCode 錯誤碼
//result.errMsg 錯誤描述
}
};
//登錄人賬戶(nickName:'demo@anychat.cn')
//AnyChat服務器地址,如連接云平臺,地址為cloud.anychat.cn,端口為8906(serverIp: "demo.anychat.cn")
//AnyChat服務器端口號(serverPort: 8906)
const initOpt: AnyChatInitOpt = new AnyChatInitOpt("demo@anychat.cn","demo.anychat.cn",8906,loginEvent);
anychatSDK.sdkInit(initOpt);
```
#### **2.進入房間**
```
const anychatSDK: AnyChatSDK = AnyChatSDK.getInstance();
const enterRoomCallback: AnyChatCallbackEvent = {
onCallbackEvent(result : AnyChatResult , JsonData: object) {
//result.errCode == 0 success,其他為相應錯誤代碼
//JsonData.roomId 成功進入的房間號
}
};
anychatSDK.enterRoom("1","123",enterRoomCallback) {
```
#### **3.打開自己的麥克風以及攝像頭**
```
const anychatSDK: AnyChatSDK = AnyChatSDK.getInstance();
//獲取本地麥克風對象列表,通常只有一個
let microphones = anychatSDK.getMicrophones();
for (let microphone of microphones) {
//microphone.deviceName 名稱
//......
}
//打開其中一個麥克風
microphone.open();
//獲取本地攝像頭對象列表,通常只有一個
let cameras = anychatSDK.getCameras(getContext());
for (let camera of cameras) {
//camera.getVideoCapture() 名稱
//......
}
//打開其中一個攝像頭,并在頁面上顯示視頻畫面
camera.open();
```
#### **4.接收對方的音視頻流**
```
const anychatSDK = AnyChatSDK.getInstance();
//接收對方音頻流
//remoteUserId:對方用戶ID
anychatSDK.getRemoteAudioStream(remoteUserId);
//接收對方視頻流,并在頁面上顯示
//context
//remoteUserId:對方用戶ID
anychatSDK.getRemoteVideoStream(context, remoteUserId);
```
#### **5.結束音視頻通話**
結束通話時,需停止接收對方的音視頻流,關閉自己的麥克風以及攝像頭,退出房間以及退出sdk。
```
const anychatSDK = AnyChatSDK.getInstance();
//終止對方視頻流
//remoteUserId:對方用戶ID
anychatSDK.cancelRemoteVideoStream(remoteUserId);
//終止對方音頻流
//remoteUserId:對方用戶ID
anychatSDK.cancelRemoteAudioStream(remoteUserId);
//關閉攝像頭
camera.close();
//關閉麥克風
microphone.close();
//離開房間
anychatSDK.leaveRoom();
//退出sdk
anychatSDK.release()
```
- SDK介紹
- 工程準備
- 獲取AnyChatHarmonySDK
- 導入SDK文件
- 混淆加固
- 開發流程
- 初始化SDK
- 初始化及自動登錄
- 退出及釋放連接
- 版本信息查詢
- 登錄方式說明
- 服務器連接斷開通知事件
- 會話保持注冊和銷毀事件
- 房間管理
- 注冊房間管理事件
- 注銷房間管理事件
- 進入房間
- 獲取房間中的用戶列表
- 房間內的文字交流
- 退出房間
- 音視頻操作
- 音視頻互動
- 本地麥克風管理
- 打開本地麥克風
- 關閉本地麥克風
- 本地攝像頭管理
- 打開本地攝像頭
- 關閉本地攝像頭
- 切換本地攝像頭
- 接收/終止對方音頻流
- 接收遠程音頻流
- 關閉遠程音頻流
- 接收/終止對方視頻流
- 獲取遠程視頻流
- 關閉遠程視頻流
- 視頻呼叫
- 注冊視頻呼叫事件
- 客戶呼叫
- 客戶取消呼叫
- 接聽視頻呼叫
- 拒絕接聽
- 掛斷通話
- 注銷視頻呼叫事件
- 錄制(錄音錄像)
- 開始錄制
- 在錄制文件中添加圖片水印
- 在錄制文件中添加文字水印
- 在錄像中插入圖片
- 更新錄像參數
- 結束錄制
- 視頻拍照
- 抓拍
- 音視頻參數配置
- 視頻參數配置
- 音頻參數配置
- 文件傳輸
- 初始化文件模塊
- 注冊文件接收通知事件
- 注銷文件接收通知事件
- 創建文件傳輸任務
- 文件管理
- 初始化文件模塊
- 創建文件上傳任務
- 創建文件下載任務
- 透明通道
- 發送透明通道
- 注冊接收透明通道通知事件
- 注銷接收透明通道通知事件
- 智能排隊
- 初始化排隊模塊
- 營業廳操作
- 獲取營業廳列表
- 進入營業廳
- 席座服務狀態設置
- 離開營業廳
- 排隊操作
- 進入隊列
- 取消排隊
- 狀態查詢
- 查詢坐席狀態
- 查詢隊伍排隊人數
- 查詢當前排隊時間
- 查詢用戶所在隊列的當前位置
- 查詢服務區域內排隊的用戶數
- 查詢營業廳內的坐席數
- 注冊隊列狀態變化事件的監聽
- 注銷隊列狀態變化事件的監聽
- 雙錄
- 基本流程
- 自助雙錄
- 遠程雙錄
- 雙錄接口說明
- PPT資源下載
- 下載任務初始化
- 開始下載
- 取消下載
- 查詢資源下載狀態
- 查詢資源詳細信息
- 資源播放
- 媒體資源播放
- 播放
- 暫停
- 停止
- 銷毀
- 獲取當前播放信息
- 播放狀態回調接口
- 時間戳
- 水印
- 用戶相關的查詢接口
- 查詢用戶名
- 錯誤碼