### **开始录制**
int startRecord(AnyChatRecordOpt recordOpt,AnyChatRecordEvent recordEvent)
#### 接口说明:
开始录制,录像可以录制单方视频流,也可以录制多方视频流。
#### 返回值:
录制操作返回的状态码(0代表录制成功 )
#### 接口参数简介 :
| 名称 |类型 |说明 |是否必须 |
| --- | --- | --- | --- |
| recordOpt| AnyChatRecordOpt | 录制配置类 | 是|
| recordEvent| AnyChatRecordEvent | 录制结果回调事件 | 是|
### **开始录制(主要用于录像状态检测)**
int startRecord(AnyChatRecordOpt recordOpt,AnyChatRecordNotifyEvent notifyEvent,AnyChatRecordEvent recordEvent)
#### 接口说明:
开始录制,主要用于服务器录制、服务器合成流录制时,检测录像状态是否正常。
#### 返回值:
录制操作返回的状态码(0代表录制成功 )
#### 接口参数简介 :
| 名称 |类型 |说明 |是否必须 |
| --- | --- | --- | --- |
| recordOpt| AnyChatRecordOpt | 录制配置类 | 是|
| notifyEvent| AnyChatRecordNotifyEvent| 录像状态回调(针对服务器录制、服务器合成流) | 是|
| recordEvent| AnyChatRecordEvent | 录制结果回调事件 | 是|
AnyChatRecordOpt录制配置类简介:
| 名称 |类型 |说明 |是否必须 |
| --- | --- | --- | --- |
| userID | int | 用户id | 是 |
| recordLayoutOpt | AnyChatRecordLayoutOpt | 录制画面布局配置类 | 是 |
| width | int | 录制画面宽度 | 否 |
| height | int | 录制画面高度 | 否 |
| mode | int | 录制模式<br>BRAC_RECORD_LOCAL_MODE--本地录制(默认)<br>BRAC_RECORD_SERVER_MODE --服务器端录制 <br> BRAC_RECORD_STREAM_MODE --服务器端合成流录制 |否 |
| content | int | 录制内容<br>BRAC_RECORD_DEFAULT_CONTENT--既录音又录像(默认) <br>BRAC_RECORD_AUDIO--只录音 <br>BRAC_RECORD_VIDEO--只录像 | 否 |
| fileType | int | 录制文件类型<br>BRAC_RECORD_FILE_TYPE_MP4-- MP4(默认) <br> BRAC_RECORD_FILE_TYPE_WMV—WMV <br>BRAC_RECORD_FILE_TYPE_FLV-- FLV <br> BRAC_RECORD_FILE_TYPE_MP3-- MP3| 否|
| fileName | String | 录制文件名 | 否 |
| category | String | 设置录像文件保存目录(针对服务器录制有效) | 否 |
| localFilePath | String | 本地录制文件存放目录 | 否 |
| encryptionKey | String | 本地录制文件加密的密钥 <br>为空不加密,传了密钥普通加密 | 否 |
| recordClipMode| int | 裁剪模式<br>BRAC_RECORD_CLIPMODE_UNKNOW--未知模式,不需要做裁剪时使用<br>BRAC_RECORD_CLIPMODE_AUTO--以最大比例进行裁剪,然后再整体拉伸,画面保持比例,但被裁剪画面较大 <br> BRAC_RECORD_CLIPMODE_OVERLAP--重叠模式,只取最大有效部分,对边缘进行裁剪 <br>BRAC_RECORD_CLIPMODE_SHRINK--缩小模式,缩小到合适的比例,不进行裁剪 <br>BRAC_RECORD_CLIPMODE_STRETCH--平铺模式,不进行裁剪,但可能导致画面不成比例 <br>
| statusnotify | int | 录像状态回调通知时间设置,默认时间为10秒(针对服务器录制、服务器合成流录制有效) | 否 |
| videobitrate | int| 录制视频码率 单位:bps| 否 |
| audiobitrate | int| 录制音频码率 单位:bps| 否 |
| fps| int| 录像帧率| 否 |
| channels| int| 录制音频通道: 1 单通道, 2双通道| 否 |
| isOpenMD5 | boolean|录像完成回调是否返回文件MD5值| 否 |
| isStrict | boolean | 是否打开非严格模式,默认情况下,SDK录制在遇到没有音视频设备,或者打开设备失败的情况下,会自动终止录制任务,返回录制失败,错误码如723、724等,如需继续录制任务,则将此属性设置为false。| 否 |
| isDealException | boolean | 是否由上层处理异常,默认情况下,SDK在检测到录像任务异常时,会自动终止该录制任务。但有些场合需要由上层应用来处理,比如APP切换到了后台,此时SDK会检测到录像传输中断(errorcode:728)或者视频编码异常(errorcode:730),如果需要APP自行决定何时结束录制任务,则将此属性设置为true。| 否 |
AnyChatRecordLayoutOpt 录制画面布局配置类简介:
| 返回值 | 名称 |说明 |备注 |
| --- | --- | --- | --- |
| recordlayout| int | 视频布局,视频流数量,即多少个视频画面| 是|
| layoutstyle| int | 三路流和四路流的视频画面布局风格:0-并列风格(默认) ,1-画中画风格,2-三画面并列风格| 否
| streamlist | List | 录制对象AnyChatRecordStreamOpt的list集合。<br>AnyChatRecordStreamOpt对象包含三个属性:<br>1、userID(String)录制对象ID<br>2、streamIndex(int):录制对象的视频流号,移动端默认为0;<br>3、recordIndex(int):录制对象在录制视频上的位置 | 否 |
AnyChatRecordNotifyEvent回调简介:
| 返回值 | 名称 |说明 |备注 |
| --- | --- | --- | --- |
| void | onRecordStatusDone| result(AnyChatResult): 操作状态信息<br>JsonData(JSONObject):返回结果 | result.errCode: 0表示成功<br>其他表示错误代号.<br>result.msg: 错误描述|
AnyChatRecordEvent回调简介:
| 返回值 | 名称 |说明 |备注 |
| --- | --- | --- | --- |
| void | onRecordPrepare | result(AnyChatResult): 操作状态信息<br>JsonData(JSONObject):返回结果 | result.errCode: 0表示成功<br>其他表示错误代号.<br>result.msg: 错误描述.<br>JsonData.userId:用户id<br>JsonData.status:录像状态,值为 "prepare" <br>JsonData.statuscode:录像状态,1为prepare|
| void | onRecordStart | result(AnyChatResult): 操作状态信息<br>JsonData(JSONObject):返回结果 | result.errCode: 0表示成功<br>其他表示错误代号.<br>result.msg: 错误描述.<br>JsonData.userId:用户id<br>JsonData.status:录像状态,值为 "start"<br>JsonData.statuscode:录像状态, 2为start|
| void | onRecordDone | result(AnyChatResult): 操作状态信息<br>JsonData(JSONObject):返回结果 | result.errCode: 0表示成功<br>其他表示错误代号.<br>result.msg: 错误描述.<br>JsonData.filePath:录像文件地址<br>JsonData.elapse:录像文件时长<br>JsonData.startTime:录像开始时间<br>JsonData.endTime:录像结束时间<br>JsonData.filemd5:录像md5|
示例代码
public int startRecord() {
AnyChatRecordOpt recordOpt = new AnyChatRecordOpt();
recordOpt.setMode(AnyChatRecordMode.BRAC_RECORD_LOCAL_MODE);// 设置为本地录制
if (null != flePath) {
recordOpt.setLocalFilePath(flePath + "/record");// 设置本地存储路径
}
recordOpt.setRecordClipMode(AnyChatRecordClipMode.BRAC_RECORD_CLIPMODE_AUTO);// 设置裁剪模式
recordOpt.setUserID(-1);
recordOpt.setContent(AnyChatRecordContent.BRAC_RECORD_DEFAULT_CONTENT);// 设置既录音又录像
List<AnyChatRecordStreamOpt> streamlist = new ArrayList<AnyChatRecordStreamOpt>();
AnyChatRecordStreamOpt recordEntity = new AnyChatRecordStreamOpt();
recordEntity.setUserID(-1);
//设置录制对象的视频流号
recordEntity.setStreamindex(0);
//设置录制对象在录制画面上的位置
recordEntity.setRecordindex(0);
streamlist.add(recordEntity);
AnyChatRecordStreamOpt recordEntity_1 = new AnyChatRecordStreamOpt();
recordEntity_1.setUserID(dwTargetUserId);
//设置录制对象的视频流号
recordEntity_1.setStreamindex(0);
//设置录制对象在录制画面上的位置
recordEntity_1.setRecordindex(1);
streamlist.add(recordEntity_1);
//设置图片水印参数信息
recordOpt.setImagepath(picPath);
String fileName = "" + System.currentTimeMillis();
recordOpt.setFileName(fileName);
AnyChatRecordLayoutOpt anyChatRecordLayoutOpt = new AnyChatRecordLayoutOpt();
anyChatRecordLayoutOpt.setRecordlayout(2);
anyChatRecordLayoutOpt.setStreamlist(streamList);
recordOpt.setAnyChatRecordLayoutOPt(anyChatRecordLayoutOpt);
return AnyChatSDK.getInstance().startRecord(recordOpt, this);
}
- SDK介绍
- 工程准备
- 获取AnyChat Android SDK
- 导入SDK文件
- 混淆加固
- 开发流程
- 初始化SDK
- 初始化及自动登录
- 退出及释放连接
- 版本信息查询
- 登录方式说明
- 服务器连接断开通知事件
- 会话保持注册和销毁事件
- UDP异常回调注册和销毁
- 房间管理
- 注册房间管理事件
- 注销房间管理事件
- 进入房间
- 获取房间中的用户列表
- 房间内的文字交流
- 退出房间
- 音视频操作
- 设备初始化
- 注册设备初始化事件
- 音视频互动
- 本地麦克风管理
- 打开本地麦克风
- 关闭本地麦克风
- 本地摄像头管理
- 打开本地摄像头
- 关闭本地摄像头
- 切换本地摄像头
- 接收/终止对方音频流
- 接收远程音频流
- 关闭远程音频流
- 接收/终止对方视频流
- 获取远程视频流
- 关闭远程视频流
- 设置远程视频流加载监听
- 注册远程视频流监听
- 注销远程视频流监听
- 视频呼叫
- 注册视频呼叫事件
- 客户呼叫
- 客户取消呼叫
- 接听视频呼叫
- 拒绝接听
- 挂断通话
- 注销视频呼叫事件
- 录制(录音录像)
- 开始录制
- 在录制文件中添加图片水印
- 在录制文件中添加文字水印
- 在录像中插入图片
- 更新录像参数
- 结束录制
- 混音录制
- 视频拍照
- 抓拍
- 音视频参数配置
- 视频参数配置
- 音频参数配置
- 噪音检测
- 设置音频工具箱
- 获取噪音大小
- 设置麦克风灵敏度
- 文件传输
- 初始化文件模块
- 注册文件接收通知事件
- 注销文件接收通知事件
- 创建文件传输任务
- 文件管理
- 初始化文件模块
- 创建文件上传任务
- 创建文件下载任务
- 透明通道
- 发送透明通道
- 注册接收透明通道通知事件
- 注销接收透明通道通知事件
- 智能排队
- 初始化排队模块
- 营业厅操作
- 获取营业厅列表
- 进入营业厅
- 席座服务状态设置
- 离开营业厅
- 排队操作
- 进入队列
- 取消排队
- 状态查询
- 查询坐席状态
- 查询队伍排队人数
- 查询当前排队时间
- 查询用户所在队列的当前位置
- 查询服务区域内排队的用户数
- 查询营业厅内的坐席数
- 注册队列状态变化事件的监听
- 注销队列状态变化事件的监听
- 屏幕共享
- 手写签名
- 双录
- 基本流程
- 自助双录
- 远程双录
- 双录接口说明
- PPT资源下载
- 下载任务初始化
- 开始下载
- 取消下载
- 查询资源下载状态
- 查询资源详细信息
- 资源播放
- PPT资源播放
- 播放
- 暂停
- 停止
- 获取当前播放信息
- 资源切换到下一帧
- 资源切换到上一帧
- 跳转到指定帧数播放
- 跳转到某个时间点播放
- 播放状态回调接口
- 播放翻页回调接口
- 媒体资源播放
- 播放
- 暂停
- 停止
- 销毁
- 获取当前播放信息
- 播放回调接口
- 时间戳
- 水印
- 用户相关的查询接口
- 查询用户名
- 网络检测
- 开启实时网络模块
- 查询指定用户网络详情
- 房间内网络状态监听
- 音视频通话网络质量查询
- AI功能模块
- AI降噪
- 错误码
- FAQ