### **开发流程**
在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。
#### **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资源下载
- 下载任务初始化
- 开始下载
- 取消下载
- 查询资源下载状态
- 查询资源详细信息
- 资源播放
- 媒体资源播放
- 播放
- 暂停
- 停止
- 销毁
- 获取当前播放信息
- 播放状态回调接口
- 时间戳
- 水印
- 用户相关的查询接口
- 查询用户名
- 错误码