JCSDK-Android
|
类 | |
interface | AudioRouteType |
interface | CameraType |
class | JCMediaDeviceAudioParam |
class | JCMediaDeviceCamera |
interface | RenderType |
interface | VideoAngle |
interface | VideoPixelFormat |
Public 成员函数 | |
abstract boolean | isCameraOpen () |
abstract boolean | isSpeakerOn () |
abstract boolean | isAudioInputStart () |
abstract boolean | isAudioOutputStart () |
abstract boolean | startAudioInput () |
abstract boolean | stopAudioInput () |
abstract boolean | startAudioOutput () |
abstract boolean | stopAudioOutput () |
abstract String | getCamera () |
abstract List< String > | getCameras () |
abstract JCMediaDeviceVideoCanvas | startCameraVideo (@RenderType int renderType) |
abstract JCMediaDeviceVideoCanvas | startVideo (String videoSource, @RenderType int renderType) |
abstract void | stopVideo (JCMediaDeviceVideoCanvas canvas) |
abstract int | getAudioRouteType () |
abstract boolean | startAudio () |
abstract boolean | stopAudio () |
abstract boolean | startCamera () |
abstract boolean | stopCamera () |
abstract boolean | switchCamera () |
abstract void | specifyCamera (int cameraIndex) |
abstract void | specifyCameraAngle (int angle) |
abstract void | setCameraProperty (int width, int height, int frameRate) |
abstract void | setScreenCaptureProperty (int width, int height, int frameRate) |
abstract int | getCameraType (int cameraIndex) |
abstract void | enableSpeaker (boolean enable) |
abstract boolean | isVideoFileOpen () |
abstract String | getVideoFileId () |
abstract boolean | startVideoFile () |
abstract void | setVideoFileFrame (byte[] data, @VideoPixelFormat int format, int width, int height, int angle, int mirror, boolean keyFrame) |
abstract boolean | stopVideoFile () |
abstract boolean | enableScreenCapture (boolean enable) |
abstract boolean | enableScreenOrWindowsAreaCapture (boolean enable, String captureId, int iFrameRate, int top, int bottom, int left, int right) |
abstract boolean | snapshotWithRenderId (String renderId, String path) |
abstract boolean | startSelfHelpRecord (String recordPath, String cameraId, int width, int height, int fps, int bitrate) |
abstract boolean | attachSelfHelpRecordCaptureSoure (String captureId) |
abstract boolean | detachSelfHelpRecordCaptureSoure (String captureId) |
abstract boolean | stopSelfHelpRecord () |
abstract boolean | startFileRecordVideo (String recordPath, String cameraId, int width, int height) |
abstract boolean | stopFileRecord (String cameraId) |
abstract Map< String, String > | getVersion () |
静态 Public 成员函数 | |
static JCMediaDevice | create (JCClient client, JCMediaDeviceCallback callback) |
static void | destroy () |
Public 属性 | |
boolean | autoRotate = false |
boolean | aec = true |
boolean | defaultSpeakerOn = false |
boolean | useInternalAudioDeviceLogic = true |
JCMediaDeviceCamera | defaultCamera |
JCMediaDeviceAudioParam | audioParam |
静态 Public 属性 | |
static final int | RENDER_FULL_SCREEN = 0 |
static final int | RENDER_FULL_CONTENT = 1 |
static final int | RENDER_FULL_AUTO = 2 |
static final int | CAMERA_NONE = 0 |
static final int | CAMERA_FRONT = 1 |
static final int | CAMERA_BACK = 2 |
static final int | CAMERA_UNKNOWN = 3 |
static final int | I420 = 1 |
static final int | IYUV = 2 |
static final int | RGB24 = 3 |
static final int | ABGR = 4 |
static final int | ARGB = 5 |
static final int | ARGB444 = 6 |
static final int | RGB565 = 7 |
static final int | ARGB1555 = 8 |
static final int | YUY2 = 9 |
static final int | YV12 = 10 |
static final int | UYVY = 11 |
static final int | MJPG = 12 |
static final int | NV21 = 13 |
static final int | NV12 = 14 |
static final int | BGRA = 15 |
static final int | H264 = 100 |
static final int | AUDIO_ROUTE_RECEIVER = 0 |
static final int | AUDIO_ROUTE_SPEAKER = 1 |
static final int | AUDIO_ROUTE_HEADSET = 2 |
static final int | AUDIO_ROUTE_BLUETOOTH = 3 |
static final int | VIDEO_ANGLE_AUTO = -1 |
static final int | VIDEO_ANGLE_0 = 0 |
static final int | VIDEO_ANGLE_90 = 90 |
static final int | VIDEO_ANGLE_180 = 180 |
static final int | VIDEO_ANGLE_270 = 270 |
Protected 成员函数 | |
abstract void | destroyObj () |
abstract boolean | startAudioWithoutAec () |
abstract void | addCallback (JCMediaDeviceCallback callback) |
abstract void | removeCallback (JCMediaDeviceCallback callback) |
用于管理设备
|
abstractprotected |
添加回调
callback | JCMediaDeviceCallback 接口对象 |
|
abstract |
合并其他窗口视频流到录制文件中 把其他窗口视频流也合并到录制文件中
captureId | captureId 窗口屏幕id |
|
static |
创建 JCMediaDevice 对象
JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
client | JCClient 对象 |
callback | JCMediaDeviceCallback 回调接口,用于接收 JCMediaDevice 相关通知 |
|
static |
销毁 JCMediaDevice 对象
|
abstractprotected |
销毁对象
|
abstract |
移除其他窗口视频流 把其他窗口视频流从录制文件中移除
captureId | captureId |
|
abstract |
开启/关闭屏幕采集
enable | 开启或关闭屏幕共享
|
|
abstract |
开启关闭区域共享
enable | 开启或是关闭 |
captureId | 窗口或者屏幕的id |
iFrameRate | 帧率 |
top | 上边距 |
bottom | 下边距 |
left | 左边距 |
right | 右边距 |
|
abstract |
开启关闭扬声器
enable | 开启或者关闭扬声器
|
|
abstract |
音频路由类型
|
abstract |
当前默认的摄像头
|
abstract |
获取摄像头列表
|
abstract |
获得摄像头类型
cameraIndex | 摄像头队列索引 |
|
abstract |
获取MTC ZMF版本信息
|
abstract |
获得文件视频源渲染id
|
abstract |
内置音频输入是否打开
|
abstract |
音频外放是否打开
|
abstract |
摄像头是否打开
|
abstract |
是否开启扬声器
|
abstract |
文件视频源是否开启
|
abstractprotected |
删除回调
callback | JCMediaDeviceCallback 接口对象 |
|
abstract |
|
abstract |
设置屏幕共享采集属性
在调用 enableScreenShare 方法开启屏幕共享前设置即可生效
width | 采集宽度,默认640 |
height | 采集高度,默认360 |
frameRate | 采集帧速率,默认10 |
|
abstract |
逐帧采集视频画面
当为 H264 格式时
data | 画面二进制数据 |
format | 视频像素格式 |
width | 宽 |
height | 高 |
angle | 90 的倍数 |
mirror | 0 不镜像,1进行左右镜像 |
keyFrame | 是否为关键帧,针对 format 为 H264
|
|
abstract |
截图
renderId | 要截图的视频id |
path | 要存放截图的文件路径 |
|
abstract |
指定要开启的摄像头
cameraIndex | 摄像头索引 |
|
abstract |
指定摄像头采集角度,为90的倍数
angle | 角度 |
|
abstract |
启动音频 一般正式开启通话前需要调用此接口
|
abstract |
打开设备内置音频采集
|
abstract |
打开设备音频输出
|
abstractprotected |
启动音频,一般正式开启通话前需要调用此接口
|
abstract |
开启摄像头
|
abstract |
开始自身视频渲染
获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
renderType | 渲染模式:
|
|
abstract |
打开本地录制
recordPath | 录制文件路径 |
cameraId | 摄像头id |
width | 录制宽 |
height | 录制高 |
|
abstract |
开始自助双录
recordPath | 生成的录制文件路径 |
cameraId | cameraId |
width | 宽 |
height | 高 |
fps | fps |
bitrate | 码率 |
|
abstract |
开始其他端的视频渲染
获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
videoSource | 渲染标识串,比如 JCMediaChannelParticipant JCCallItem 中的 renderId,当videoSource 为 videoFileId 时,内部会调用 startVideoFile |
renderType | 渲染模式
|
|
abstract |
开启视频文件作为视频输入源 文件和摄像头作为视频输入源只能存在一种,当前摄像头开启的话会关闭摄像头
|
abstract |
停止音频 一般在通话结束时调用
|
abstract |
关闭设备内置音频采集
|
abstract |
关闭设备音频输出
|
abstract |
关闭摄像头
|
abstract |
关闭本地录制
cameraId | 摄像头id |
|
abstract |
停止自助双录
|
abstract |
停止视频渲染
canvas | JCMediaDeviceVideoCanvas 对象,由 startVideo 和 startCameraVideo 获得 |
|
abstract |
关闭逐帧采集画面
|
abstract |
切换摄像头
内部会根据当前摄像头类型来进行切换
|
static |
ABGR
boolean com.juphoon.cloud.JCMediaDevice.aec = true |
是否打开回声消除
|
static |
ARGB
|
static |
ARGB1555
|
static |
ARGB444
|
static |
蓝牙耳机
|
static |
有线耳机
|
static |
听筒
|
static |
扬声器
JCMediaDeviceAudioParam com.juphoon.cloud.JCMediaDevice.audioParam |
音频参数
需要在调用 startAudio 方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。
boolean com.juphoon.cloud.JCMediaDevice.autoRotate = false |
视频窗口是否跟着手机自动旋转,默认为false
|
static |
BGRA
|
static |
后置摄像头
|
static |
前置摄像头
|
static |
未获取到摄像头
|
static |
未知摄像头
JCMediaDeviceCamera com.juphoon.cloud.JCMediaDevice.defaultCamera |
默认摄像头
boolean com.juphoon.cloud.JCMediaDevice.defaultSpeakerOn = false |
没有插入耳机或外接蓝牙时是否默认开启扬声器,默认关闭
|
static |
H264
|
static |
I420
|
static |
IYUV
|
static |
MJPG
|
static |
NV12
|
static |
NV21
|
static |
自适应
|
static |
全图像显示,会有黑边
|
static |
铺满窗口
|
static |
RGB24
|
static |
RGB565
boolean com.juphoon.cloud.JCMediaDevice.useInternalAudioDeviceLogic = true |
是否使用内部音频设备逻辑,默认使用
内部音频设备逻辑如下:
1.打开扬声器 - 使用扬声器输出声音 2.连上蓝牙耳机 - 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 - 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 - (蓝牙耳机或有线耳机) 优于 听筒
|
static |
UYVY
|
static |
0度
|
static |
180度
|
static |
270度
|
static |
90度
|
static |
自动
|
static |
YUY2
|
static |
YV12