### 3.2.4 音視頻交互
設置必要音視頻參數,參考代碼如下:
```
//設置本地視頻采用 Overlay 模式
[AnyChatPlatform SetSDKOptionInt:BRAC_SO_LOCALVIDEO_OVERLAY :1]; //設置本地視頻采集隨著設備
```
屏幕旋轉處理
```
[AnyChatPlatform SetSDKOptionInt:BRAC_SO_LOCALVIDEO_ORIENTATION :self.int erfaceOrientation];
```
攝像頭硬件初始化
導入框架#import <AVFoundation/AVFoundation.h>
創建視頻顯示層全局變量 AVCaptureVideoPreviewLayer*localVideoSurface;?
```
//AnyChat SDK自動調用“攝像頭硬件初始化”方法
- (void) OnLocalVideoInit:(id)session {
```
```
//通過 session 控制設備的視頻數據輸入和輸出流向
localVideoSurface = [AVCaptureVideoPreviewLayerlayerWithSession: (AVCaptureSession*)session];
```
```
//視頻顯示層 UI 設置
localVideoSurface.frame = CGRectMake(0, 0, 120, 160); localVideoSurface.videoGravity = AVLayerVideoGravityResizeAspectFill;
//視頻顯示層添加到自定義的 theLocalView 界面顯示視圖中。 [self.theLocalView.layeraddSublayer:self.localVideoSurface];
```
打開本地音視頻(需要進入房間)
```
//打開本地音頻(參數“-1”表示本地用戶,也可以用本地的真實 userid)
[AnyChatPlatform UserSpeakControl: -1:YES];
```
```
//設置本地視頻 UI(“0”為默認適配視頻顯示位置與尺寸大小)
[AnyChatPlatform SetVideoPos:-1 :self :0 :0 :0 :0];
```
```
//打開本地視頻(參數“-1”表示本地用戶,也可以用本地的真實 userid) [AnyChatPlatform UserCameraControl:-1 : YES];
```
關閉本地音視頻
```
//關閉本地音頻
[AnyChatPlatform UserSpeakControl: -1 : NO];
```
```
//關閉本地視頻
[AnyChatPlatform UserCameraControl: -1 : NO];
```
```
- (void) OnLocalVideoRelease:(id)sender {
// localVideoSurface表示視頻顯示層全局變量
if(localVideoSurface) {
localVideoSurface = nil;
}
}
```
- 1 簡介
- 1.1 面向讀者
- 1.2 技術支持
- 2 工程準備
- 2.1 SDK集成
- 3 基本流程
- 3.1 流程介紹
- 3.1.1 自助雙錄
- 3.1.2 遠程雙錄
- 3.2 SDK操作說明
- 3.2.1 準備一個AnyChatPlatform對象
- 3.2.2 登錄SDK平臺
- 3.2.3 進入房間
- 3.2.4 音視頻交互
- 4 關鍵SDK說明
- 4.1 資源下載
- 4.1.1 下載任務初始化
- 4.1.2 開始下載
- 4.1.3 取消下載
- 4.1.4 查詢資源下載狀態
- 4.1.5 查詢資源詳情信息
- 4.1.6 下載進度回調
- 4.2 資源播放
- 4.2.1 初始化資源播放器
- 4.2.2 播放
- 4.2.3 恢復播放
- 4.2.4 暫停
- 4.2.5 停止
- 4.2.6 獲取當前播放信息
- 4.2.7 資源切換到下一幀
- 4.2.8 資源切換到上一幀
- 4.2.9 跳轉到某個時間點播放
- 4.2.10 播放狀態回調
- 4.2.11 播放翻頁回調
- 4.3 錄像
- 4.3.1 錄像
- 4.3.2 錄入圖片
- 4.3.3 添加圖片水印
- 4.3.4 添加文字水印
- 4.4 時間戳
- 4.4.1 添加時間戳
- 4.5 上傳視頻
- 4.5.1 上傳視頻
- 5 附錄
- 5.1 AnyChatPlayerDemo界面