### 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界面