用户工具

video_sdk:androidsmartdevicefunc

一. 智能硬件接口

1. 透传接口

1.1. 发送透传数据

原型:- UCSManager.sendTransData(String targetId, UCSTransStock stock,OnSendTransRequestListener sendListener)

功能:发送透传数据,透传数据不能超过256个字节

返回:无

备注:通过sendListener回调发送结果,errorCode请参考IUCSRequest.SendErrorCode说明

参数:

参数名 类型 约束 说明
targetId String 不能为空 接收方userId
stock UCSTransStock 不能为空 数据内容实现onTranslate方法,返回发送内容。
sendListener OnSendTransRequestListener 发送回调

示例:

//发送透传数据:123
UCSManager.sendTransData(phone, new UCSTransStock() {
	@Override
	public String onTranslate() {
		//返回要发送的数据
		return "123";
	}
}, new OnSendTransRequestListener() {
	@Override
	public void onSuccess(String msgId) {
		Toast.makeText(TransDataActivity.this, "发送透传数据成功", 0).show();
	}
	@Override
	public void onError(int errorCode, String msgId) {
		Toast.makeText(TransDataActivity.this, "发送透传数据失败,errorCode:"+errorCode, 0).show();
	}
});

1.2. 设置透传监听

原型:- UCSManager. setOnRecvTransUCSListener(OnRecvTransUCSListener listener)

功能:设置接收透传数据监听

返回:无

备注:无

参数:

参数名 类型 约束 说明
listener OnRecvTransUCSListener 不能为空 接收回调

示例:

UCSManager.setOnRecvTransUCSListener(new OnRecvTransUCSListener() {
	@Override
	public void onRecvTranslate(String fromUserId, String data) {
		Log.i("YZX", "发送方UserId:"+fromUserId+",收到透传数据:"+data);
	}
});

1.3. 移除透传监听

原型:- UCSManager.removeOnRecvTransUCSListener (OnRecvTransUCSListener listener)

功能:移除接收透传数据监听

返回:无

备注:无

参数:

参数名 类型 约束 说明
listener OnRecvTransUCSListener 不能为空 接收回调

1.4. 发送错误码说明

参数名 说明
0 发送成功
1 对方不在线
2 消息不可达
3 发送超时
4 对方版本不支持
5 上一条透传数据超时
6 TCP已经断开
7 发送数据为空
8 加密content失败
9 透传数据为空
10 透传数据超过256字节
11 接收方不存在

2. 音频PCM码流功能接口

2.1. 控制是否开启外部音频传输(PCM码流)

原型:- UCSCall.setExtAudioTransEnable(Context context,boolean isEnable)

功能:控制是否开启外部音频传输(PCM码流)

返回:无

备注:在开启音频pcm码流时设置,此功能适合在一端开启一端不开启

参数:

参数名 类型 约束 说明
context Context 程序上下文
isEnable boolean true:开启,false:不开启

2.2. 使用指定参数值对外部音频播放设备进行初始化(回调接口)

原型:- initPlayout(int sample_rate, int bytes_per_sample,int num_of_channels)

功能:使用指定参数值对外部音频播放设备进行初始化

返回:无

备注:拨打电话时会回调此方法

参数:

参数名 类型 约束 说明
sample_rate int 采样率
bytes_per_sample int 采样深度,每个样点字节数
num_of_channels int 通道数

2.3. 使用指定参数值对外部音频设备的采集进行初始化(回调接口)

原型:- initRecording(int sample_rate, int bytes_per_sample,int num_of_channels)

功能:使用指定参数值对外部音频设备的采集进行初始化

返回:无

备注:接通时回调此方法

参数:

参数名 类型 约束 说明
sample_rate int 采样率
bytes_per_sample int 采样深度,每个样点字节数
num_of_channels int 通道数

2.4. 将解码后指定数据长度的PCM码流给外部设备进行播放(回调接口)

原型:- writePlayoutData(byte[] outData, int outSize)

功能:将解码后指定数据长度的PCM码流给外部设备进行播放

返回:0:成功;-1:失败

备注:无

参数:

参数名 类型 约束 说明
outData byte[] 解码后给外部音频设备播放的码流
outSize int 数据长度

2.5. 从外部音频设备读取指定数据长度的采集PCM码流(回调接口)

原型:- readRecordingData(byte[] inData, int inSize)

功能:从外部音频设备读取指定数据长度的采集PCM码流

返回:0:成功;-1:失败

备注:无

参数:

参数名 类型 约束 说明
outData byte[] 需填充为从外部音频设备采集的码流
outSize int 数据长度

3. 虚拟摄像头功能接口

3.1. 设置是否使用虚拟摄像头和设置输入流文件格式

原型:- UCSCall.setVideoExternCapture(VideoExternFormat ucExternformate, boolean useExternCapture)

功能:设置是否使用虚拟摄像头和设置输入流文件格式

返回:0:设置成功;-1设置失败

备注:该接口在使用虚拟摄像头功能时调用

参数:

参数名 类型 约束 说明
ucExternformate VideoExternFormat 枚举类型,i420,h264,目前只支持h264格式
useExternCapture boolean true:使用;false:不使用

3.2. 用于虚拟摄像头,将data数据插入

原型:- UCSCall. VideoIncomingFrame(byte[] data, int len)

功能:将本地h264文件数据发送到对端

返回:0:设置成功;-1设置失败

备注:无

参数:

参数名 类型 约束 说明
data byte[] 输入数据流
len int 输入流的长度

3.3. 获取是否使用外部摄像头来拨打视频

原型:- UCSCall. getVideoExternCapture()

功能:获取是否使用外部摄像头来拨打视频

返回:true:是;false:否

备注:无

参数:无

4. 通话媒体流加密接口

4.1. 通话媒体流加密开关(RTP)

原型:- UCSCall. setEncryptEnable (boolean bEnable)

功能:通话媒体流加密开关

返回:无

备注:该开关默认关闭,打开该开关后用户须自己实现加密算法

参数:

参数名 类型 约束 说明
bEnable boolean true为开启,false为关闭

4.2. 通话媒体流加密回调(RTP)

原型:- onEncryptStream(byte[] inMsg, byte[] outMsg, int inLen, int[] outLen)

功能:通话媒体流加密回调

返回:无

备注:通话媒体流加密回调

参数:

参数名 类型 约束 说明
inMsg byte[] 输入的原始媒体流数据包
outMsg byte[] 加密后的输出包
inLen int 输入包的长度
outLen int[] 输出包的长度(长度存储在outLen[0])

4.3. 通话媒体流解密回调(RTP)

原型:- onDecryptStream (byte[] inMsg, byte[] outMsg, int inLen, int[] outLen)

功能:通话媒体流解密回调

返回:无

备注:通话媒体流解密回调

参数:

参数名 类型 约束 说明
inMsg byte[] 输入的媒体流数据包
outMsg byte[] 解密后的输出包
inLen int 输入包的长度
outLen int[] 输出包的长度(长度存储在outLen[0])

5. 音频3a算法接口

5.1. 音频AGC增益控制接口

原型:- UCSCall.setAGCPlus(int agc_compressionGaindB, int agc_targetDbfs)

功能:设置AGC音效增益

返回:成功返回0 失败返回-1

备注:此接口建议在拨打电话之前设置

参数:

参数名 类型 约束 说明
agc_compressionGaindB int 自适应语音增益的压缩增益;设置范围值为1 - 30;建议值为6 - 12,6为小音量,9为默认音量,12为大音量, 1 - 6 或者 12 - 30 的值需要谨慎使用,通话前或者通话中设置均有效,建议通话前设置
agc_targetDbfs int 自适应语音增益模块的目标电平;自适应语音增益的目标电平: 取值范围:1—15; 此值越小音量越大;建议值为3 - 9,9为小音量,6为默认音量,3为大音量,1 - 3 或者 9 - 15 的值需要谨慎使用

页面工具