Abstract音频参数
需要在调用 startAudio 方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。
默认摄像头
没有插入耳机或外接蓝牙时是否默认开启扬声器,默认关闭
是否使用内部音频设备逻辑,默认使用
修改⾳频输出设备 audioInputDevice , 务必将该参数设置为false,否则会导致修改⽆法⽣效。
内部音频设备逻辑如下:
1.打开扬声器 - 使用扬声器输出声音
2.连上蓝牙耳机 - 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器
3.插入耳机 - 使用耳机输出声音,如果扬声器开着则关闭扬声器
4.蓝牙耳机和有线耳机以最后连上的作为输出
5.关闭扬声器 - (蓝牙耳机或有线耳机) 优于听筒
Abstractadd添加回调
JCMediaDeviceCallback 接口对象
AbstractdestroyAbstractenableAbstractenableAbstractenableAbstractget获取音频输出数据
当 autoStartAudioOutputDevice 为 false 时才可以获取到音频输出数据。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法获取音频输出数据
输出源的采集频率,取值范围:8000,16000,32000,44100,48000
输出源的采样通道数,取值范围:1或2
字节缓冲区,从媒体层获取的音频输出数据将被存入此缓冲区,需要传入 DirectByteBuffer 对象。缓冲区的容量为(采样频率*采样通道数/100)
是否正常调用
Abstractget音频路由类型
音频路由类型:
Abstractget获取当前的摄像头
JCMediaDeviceCamera 对象,当前摄像头
AbstractgetAbstractgetAbstractget获得摄像头类型
摄像头队列索引
摄像头类型:
Abstractget获取摄像头列表
摄像头列表
AbstractgetAbstractgetAbstractgetAbstractgetAbstractgetAbstractget获取视频窗体角度
视频渲染窗体角度
AbstractgetAbstractinput将音频输入数据输入到媒体层
当 JCMediaDeviceAudioParam.autoStartAudioInputDevice 为 false 时才可以将音频输入数据输入到媒体层。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法传入音频数据
外部输入源的采样频率,取值范围:8000,16000,32000,44100,48000
外部输入源的采样通道数,取值范围:1或2
外部采集数据源,需要传入 DirectByteBuffer 对象
播放延时 一般设为0
采集延时 一般设为0
时钟漂移 一般设为0
是否正常调用
AbstractisAbstractisAbstractisAbstractisAbstractisAbstractremove删除回调
JCMediaDeviceCallback 接口对象
AbstractsetAbstractset设置摄像头采集属性
在调用 startSelfVideo 方法或 startVideo 方法开启自身视频渲染前设置即可生效
采集宽度,默认640
采集高度,默认360
采集帧速率,默认24
AbstractsetAbstractsetAbstractset设置屏幕共享采集属性
在调用 enableScreenShare 方法开启屏幕共享前设置即可生效
采集宽度,默认1280
采集高度,默认720
采集帧速率,默认10
Abstractset设置视频窗体角度
视频旋转角度: - VideoAngle.VIDEO_ANGLE_AUTO : 自动 - VideoAngle.VIDEO_ANGLE_0 : 0度 - VideoAngle.VIDEO_ANGLE_90 : 90度 - VideoAngle.VIDEO_ANGLE_180 : 180度 - VideoAngle.VIDEO_ANGLE_270 : 270度
Abstractset逐帧采集视频画面
调用此方法时要保证文件视频源已开启
画面二进制数据
VideoPixelFormat.I420 "视频像素格式"
宽
高
90 的倍数
0 不镜像,1进行左右镜像
是否为关键帧,针对 format 为 VideoPixelFormat.H264 - true: 关键帧 - false: 不是关键帧
AbstractsnapshotAbstractstartAbstractstart开启摄像头
调用是否成功
Abstractstart开启视频文件作为视频输入源
调用是否成功
AbstractstopAbstractstopAbstractstop关闭摄像头
调用是否成功
Abstractstop关闭逐帧采集画面
调用是否成功
Abstractswitch切换摄像头
调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false
摄像头
调用是否成功
Abstractswitch切换摄像头
内部会根据当前摄像头类型来进行切换
- 调用此方法时要保证摄像头已打开,否则将直接返回 false
- 设备拥有两个以上摄像头,否则将直接返回 true
- 满足以上两个条件后,内部会调用 switchCamera 方法并提供返回值
调用是否成功
Staticcreate创建 JCMediaDevice 对象
JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
JCClient 对象
JCMediaDeviceCallback 对象,用于回调相关通知
JCMediaDevice 对象
"JCClient、JCMediaDeviceCallback 任意一个参数传空就会出现调用异常"
Staticdestroy销毁 JCMediaDevice 对象
该方法为同步调用,需要等待 JCMediaDevice 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JCMediaDevice 的其它方法和回调。
我们 **不建议** 在 JCSDK 的回调中调用此方法销毁 JCMediaDevice 对象,有可能会出现崩溃。
如需在销毁后再次创建 JCMediaDevice 实例,需要等待 destroy 方法执行结束后再创建实例。
用于管理设备