### **开发流程**
在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。
#### **1.初始化SDK**
加载资源,应用程序中只需要执行一次,其他的功能接口都必须在初始化之后才能正常使用。
#import <AnyChatSDK/AnyChatSDK.h>
导入AnyChatSDK.framework 后需要引用<AnyChatSDK/AnyChatSDK.h>
//初始化配置信息
AnyChatInitOpt *initOpt = [[AnyChatInitOpt alloc]init];
initOpt.serverIp = @"demo.anychat.cn";
initOpt.serverPort = @"8906";
initOpt.nickName = @"demo@anychat.cn";
initOpt.loginDelegate = self;
//初始化
AnyChatSDK *brac = [AnyChatSDK sdkInit:initOpt];
//遵循LoginDelegate协议 实现代理回调
//登录回调
- (void)onLogin:(NSDictionary *)data ;
//连接失败回调
- (void)onDisconnect:(AnyChatResult *)result ;
//连接断开回调
- (void)OnLinkClose:(AnyChatResult *)result;
#### **2.进入房间**
// 初始化房间配置信息
AnyChatRoomOpt *roomOpt = [[AnyChatRoomOpt alloc]init];
roomOpt.roomDelegate = self;
[AnyChatSDK getInstance].roomOpt = roomOpt;
// 进入房间
[[AnyChatSDK getInstance] enterRoomWithRoomId:RoomId passWord:nil completion:^(AnyChatResult *result, NSString *roomId) {
//进入房间操作的回调
}
//遵循RoomDelegate协议 实现代理回调
用户进出房间事件回调
- (void)onRoomUserInAndOut:(NSDictionary *)data;
房间用户数变化事件回调
- (void)onRoomUserChanged:(NSDictionary *)data;
接收房间内的文本消息事件回调
- (void)onRoomUserMsgReceived:(NSDictionary *)data;
#### **3.打开自己的麦克风以及摄像头**
//获取视频设备列表 0为后置摄像头 1为前置摄像头
AnyChatCamera *videoDevice = [[AnyChatSDK getInstance]getCameras][1];
self.videoDevice = videoDevice;
[self.videoDevice openWithRenderView:self.theLocalView];
//获取音频设备列表 移动端默认为0
AnyChatMicrophone *audioDevice = [[AnyChatSDK getInstance]getMicrophones][0];
self.audioDevice = audioDevice;
//打开自己音频设备(麦克风)
[self.audioDevice open];
#### **4.接收对方的音视频流**
//开启接收对方音频流
[[AnyChatSDK getInstance] getRemoteAudioStreamWithUserId:self.iRemoteUserId];
//开启接收对方视频流
[[AnyChatSDK getInstance] getRemoteVideoStreamWithUserId:self.iRemoteUserId renderView:self.remoteVideoSurface];
#### **5.结束音视频通话**
//关闭自己麦克风和摄像头
[self.audioDevice close];
[self.videoDevice close];
//关闭接收对方的音频流
[[AnyChatSDK getInstance] cancelRemoteAudioStreamWithUserId:self.iRemoteUserId];
//关闭接收对方的视频流
[[AnyChatSDK getInstance] cancelRemoteVideoStreamWithUserId:self.iRemoteUserId];
//离开房间
[[AnyChatSDK getInstance]leaveRoom];
//退出SDK
[[AnyChatSDK getInstance] logout];
- SDK介绍
- 工程准备
- 获取SDK
- 导入SDK
- 开发流程
- 初始化SDK
- 初始化及自动登录
- 退出及释放连接
- 登录方式说明
- 版本信息查询
- 房间管理
- 初始化
- 进入房间
- 获取房间中的用户列表
- 房间内的文字交流
- 退出房间
- 音视频操作
- 设备初始化
- 注册设备初始化事件
- 音视频互动
- 本地麦克风管理
- 打开本地麦克风
- 关闭本地麦克风
- 本地摄像头管理
- 打开本地摄像头
- 关闭本地摄像头
- 切换本地摄像头
- 接收/终止对方音频流
- 接收远程音频流
- 关闭远程音频流
- 接收/终止对方视频流
- 获取远程视频流
- 关闭远程视频流
- 视频呼叫
- 初始化
- 呼叫用户
- 取消呼叫
- 接受呼叫
- 拒绝接听
- 挂断通话
- 录制(录音录像)
- 开始录制
- 结束录制
- 录像中插入图片
- 录制中插入图片水印
- 录像中插入文字水印
- 更新录制参数
- 非严格模式录制
- 异常任务录像终止
- 混音录制
- 视频拍照
- 抓拍
- 音视频参数设置
- 视频参数设置
- 音频参数设置
- 噪音检测
- 设置音频工具箱
- 获取噪音大小
- 麦克风灵敏度获取与设置
- 文件传输
- 初始化文件模块
- 文件传输
- 文件管理
- 初始化文件模块
- 文件下载
- 文件上传
- 透明通道
- 发送透明通道
- 智能排队
- 初始化排队模块
- 营业厅操作
- 获取营业厅列表
- 进入营业厅
- 离开营业厅
- 排队操作
- 进入排队
- 取消排队
- 席座服务状态设置
- 状态查询
- 查询席座状态
- 查询队伍排队人数
- 查询当前排队时间
- 查询队列排队用户的详细信息
- 桌面共享与屏幕录制
- 桌面共享
- 显示用户共享桌面
- 手写签名
- 双录
- 基本流程
- 自助双录
- 远程双录
- 双录接口说明
- PPT资源下载
- 下载任务初始化
- 开始下载
- 取消下载
- 下载进度回调
- 下载完成回调
- 查询资源下载状态
- 查询资源详情信息
- 资源播放
- PPT资源播放
- 播放
- 暂停
- 停止
- 获取当前播放信息
- 资源切换到下一帧
- 资源切换到上一帧
- 跳转到某个时间点播放
- 播放状态回调接口
- 播放翻页回调接口
- 媒体资源播放
- 播放
- 暂停
- 停止
- 获取当前播放信息
- 播放状态回调接口
- 时间戳
- 水印
- 用户相关的查询接口
- 查询用户名
- 网络状态检测
- 设置实时网络监测模块
- 查询指定用户网络详情
- 房间内网络状态监听
- 音视频通话网络质量查询
- 远程视频流加载事件
- AI功能模块
- AI降噪
- 错误码