JMSDK Android
v2.6.1
API文档
|
设备模块 更多...
类 | |
interface | AudioRecordFile |
interface | AudioRouteType |
interface | CameraType |
class | JCMediaDeviceAudioParam |
class | JCMediaDeviceCamera |
interface | RenderType |
interface | VideoAngle |
interface | VideoPixelFormat |
interface | VideoRecordFile |
Public 成员函数 | |
abstract boolean | isCameraOpen () |
abstract boolean | isSpeakerOn () |
abstract JCMediaDeviceCamera | getCurrentCamera () |
abstract List< JCMediaDeviceCamera > | getCameras () |
abstract JCMediaDeviceVideoCanvas | startCameraVideo (@RenderType int renderType) |
abstract JCMediaDeviceVideoCanvas | startVideo (String videoSource, @RenderType int renderType) |
abstract void | stopVideo (JCMediaDeviceVideoCanvas canvas) |
abstract boolean | isAudioStart () |
abstract boolean | isAudioInputStart () |
abstract boolean | isAudioOutputStart () |
abstract boolean | startAudio () |
abstract boolean | stopAudio () |
abstract boolean | startAudioInput () |
abstract boolean | stopAudioInput () |
abstract boolean | startAudioOutput () |
abstract boolean | stopAudioOutput () |
abstract boolean | startCamera () |
abstract boolean | stopCamera () |
abstract boolean | switchCamera () |
abstract boolean | switchCamera (JCMediaDeviceCamera camera) |
abstract boolean | switchCameraBetweenFrontAndBack () |
abstract void | specifyCamera (JCMediaDeviceCamera camera) |
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 int | getAudioRouteType () |
abstract void | setVideoAngle (@VideoAngle int angle) |
abstract int | getVideoAngle () |
abstract boolean | startVideoCaptureRecord (String filePath, String captureId, @VideoRecordFile int fileType, int width, int height) |
abstract boolean | stopVideoCaptureRecord (String captureId) |
abstract boolean | startAudioRecord (String filePath, @AudioRecordFile int fileType) |
abstract boolean | stopAudioRecord () |
abstract String | getScreenCaptureId () |
静态 Public 成员函数 | |
static JCMediaDevice | create (JCClient client, JCMediaDeviceCallback callback) |
static void | destroy () |
Public 属性 | |
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 |
static final int | AUDIO_RECORD_FILE_PCM = 0 |
static final int | AUDIO_RECORD_FILE_WAV_PCM = 1 |
static final int | AUDIO_RECORD_FILE_WAV_PCMU = 2 |
static final int | AUDIO_RECORD_FILE_WAV_PCMA = 3 |
static final int | AUDIO_RECORD_FILE_WAV_AMR = 4 |
static final int | VIDEO_RECORD_FILE_AVI_VP8 = 1 |
static final int | VIDEO_RECORD_FILE_AVI_I420 = 2 |
static final int | VIDEO_RECORD_FILE_AVI_H264 = 3 |
static final int | VIDEO_RECORD_FILE_MP4_H264 = 4 |
Protected 成员函数 | |
abstract void | destroyObj () |
abstract boolean | enableScreenCapture (boolean enable) |
abstract void | stopAllVideos () |
abstract void | addCallback (JCMediaDeviceCallback callback) |
abstract void | removeCallback (JCMediaDeviceCallback callback) |
设备模块
|
abstractprotected |
添加回调
callback | JCMediaDeviceCallback 接口对象 |
|
inlinestatic |
创建 JCMediaDevice 对象
client | JCClient 对象 |
callback | JCMediaDeviceCallback 回调接口,用于接收 JCMediaDevice 相关通知 |
|
inlinestatic |
销毁 JCMediaDevice 对象
|
abstractprotected |
销毁对象
|
abstractprotected |
开启/关闭屏幕采集
enable | 是否开启 |
|
abstract |
开启关闭扬声器
enable | 是否开启 |
|
abstract |
音频路由类型
|
abstract |
获取摄像头列表
|
abstract |
获得摄像头类型
cameraIndex | 摄像头队列索引 |
|
abstract |
当前默认的摄像头
|
abstract |
获取屏幕共享采集Id
|
abstract |
视频窗体角度
|
abstract |
获得文件视频源渲染id
|
abstract |
音频输入设备是否打开
|
abstract |
音频输出设备是否打开
|
abstract |
音频是否已打开
|
abstract |
摄像头是否打开
|
abstract |
是否开启扬声器
|
abstract |
文件视频源是否开启
|
abstractprotected |
删除回调
callback | JCMediaDeviceCallback 接口对象 |
|
abstract |
设置摄像头采集属性
width | 采集宽度,默认640 |
height | 采集高度,默认360 |
frameRate | 采集帧速率,默认30 |
|
abstract |
设置屏幕共享采集属性
width | 采集宽度,默认640 |
height | 采集高度,默认360 |
frameRate | 采集帧速率,默认10 |
|
abstract |
设置视频窗体角度
angle | 参看 @VideoAngle |
|
abstract |
逐帧采集视频画面
当为 H264 格式时
data | 画面二进制数据 |
format | 视频像素格式 |
width | 宽 |
height | 高 |
angle | 90 的倍数 |
mirror | 0 不镜像,1进行左右镜像 |
keyFrame | 是否为关键帧,针对 format 为 H264 |
|
abstract |
指定要开启的摄像头
camera | 摄像头对象 |
|
abstract |
指定摄像头采集角度,为90的倍数
angle | 角度 |
|
abstract |
启动音频,一般正式开启通话前需要调用此接口
|
abstract |
打开音频输入设备
|
abstract |
打开音频输出设备
|
abstract |
开启音频录制(本地录制,不需要建立通信,不能和视频同时录制)
filePath | 保存的文件路径,必须包含文件名(xxx.wav或者pcm) |
fileType | 录制文件编码封装类型 |
|
abstract |
开启摄像头
|
abstract |
|
abstract |
获得视频对象,通过此对象能获得视图用于UI显示
videoSource | 渲染标识串,比如 JCMediaChannelParticipant JCCallItem 中的 renderId |
renderType | 渲染模式 |
|
abstract |
开启视频录制(本地录制,不需要建立通信)
filePath | 保存的文件路径,必须包含文件名(xxx.mp4或者xxx.avi) |
captureId | 视频采集id, (包括摄像头id、文件视频源渲染id、屏幕共享采集id等) |
fileType | 录制文件编码封装类型 |
width | 录制文件宽(传-1则默认屏幕共享采集属性的宽) |
height | 录制文件高(传-1则默认屏幕共享采集属性的高) |
|
abstract |
开启视频文件作为视频输入源,文件和摄像头作为视频输入源只能存在一种,当前摄像头开启的话会关闭摄像头
|
abstractprotected |
关闭媒体资源
|
abstract |
停止音频,一般在通话结束时调用
|
abstract |
关闭音频输入设备
|
abstract |
关闭音频输出设备
|
abstract |
关闭音频录制(本地录制,不需要建立通信)
|
abstract |
关闭摄像头
|
abstract |
停止视频
canvas | JCMediaDeviceVideoCanvas 对象,由 startVideo 获得 |
|
abstract |
关闭视频录制(本地录制,不需要建立通信,不能和音频同时录制)
captureId | 视频采集id, (包括摄像头id、文件视频源渲染id、屏幕共享采集id等) |
|
abstract |
关闭逐帧采集画面
|
abstract |
切换摄像头,内部会根据当前摄像头类型来进行切换
|
abstract |
切换摄像头
调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false
camera | 摄像头 |
|
abstract |
切换摄像头,用于手机前置和后置摄像头的切换
|
static |
ABGR
|
static |
ARGB
|
static |
ARGB1555
|
static |
ARGB444
|
static |
封装格式pcm, 编码格式pcm
|
static |
封装格式wav,编码格式amr
|
static |
封装格式wav, 编码格式pcm
|
static |
封装格式wav,编码格式pcma
|
static |
封装格式wav,编码格式pcmu
|
static |
蓝牙耳机
|
static |
有线耳机
|
static |
听筒
|
static |
扬声器
JCMediaDeviceAudioParam com.juphoon.meeting.JCMediaDevice.audioParam |
音频参数
需要在调用 startAudio 方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。
|
static |
BGRA
|
static |
后置摄像头
|
static |
前置摄像头
|
static |
未获取到摄像头
|
static |
未知摄像头
JCMediaDeviceCamera com.juphoon.meeting.JCMediaDevice.defaultCamera |
默认摄像头
boolean com.juphoon.meeting.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.meeting.JCMediaDevice.useInternalAudioDeviceLogic = true |
是否使用内部音频设备逻辑
1.打开扬声器 -> 使用扬声器输出声音 2.连上蓝牙耳机 -> 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 -> 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 -> (蓝牙耳机|有线耳机) > 听筒
|
static |
UYVY
|
static |
0度
|
static |
180度
|
static |
270度
|
static |
90度
|
static |
自动
|
static |
封装格式avi,视频编码格式H264, 音频编码格式PCM
|
static |
封装格式avi,视频编码格式I420, 音频编码格式PCM
|
static |
封装格式avi,视频编码格式vp8, 音频编码格式PCM
|
static |
封装格式mp4,视频编码格式H264,音频编码格式AAC
|
static |
YUY2
|
static |
YV12