JRTCSDK-Android v2401.0
视频客服 API 文档
|
类 | |
interface | AudioInputFrameCallback |
interface | AudioRecordFileType |
interface | AudioRouteType |
interface | CameraType |
interface | DeviceTestType |
class | JRTCMediaDeviceAudioParam |
class | JRTCMediaDeviceCamera |
interface | RecordAudioSource |
interface | RenderType |
interface | VideoAngle |
interface | VideoErrorType |
interface | VideoFrameCallback |
interface | VideoPixelFormat |
interface | VideoRecordFileType |
Public 成员函数 | |
abstract boolean | isCameraOpen () |
abstract boolean | isSpeakerOn () |
abstract JRTCMediaDeviceCamera | getCurrentCamera () |
abstract List< JRTCMediaDeviceCamera > | getCameras () |
abstract JRTCMediaDeviceVideoCanvas | startCameraVideo (@RenderType int renderType) |
abstract JRTCMediaDeviceVideoCanvas | startCameraVideo (@RenderType int renderType, boolean useTextureView) |
abstract JRTCMediaDeviceVideoCanvas | startVideo (String streamId, @RenderType int renderType) |
abstract JRTCMediaDeviceVideoCanvas | startVideo (String streamId, @RenderType int renderType, boolean useTextureView) |
abstract void | stopVideo (JRTCMediaDeviceVideoCanvas canvas) |
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 (JRTCMediaDeviceCamera camera) |
abstract boolean | switchCameraBetweenFrontAndBack () |
abstract void | specifyCamera (JRTCMediaDeviceCamera 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 void | changeAudioOutput (@AudioRouteType int audioRouteType) |
abstract String | getBluetoothName () |
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 (@NonNull String streamId, @NonNull JRTCRecordVideoCaptureParam recordParam) |
abstract boolean | startVideoCaptureRecord (@NonNull String filePath, @NonNull String streamId, @RecordAudioSource int audioSource, @VideoRecordFileType int fileType, int width, int height) |
abstract boolean | stopVideoCaptureRecord (@NonNull String streamId) |
abstract boolean | startAudioRecord (@NonNull String filePath, @RecordAudioSource int audioSource, @AudioRecordFileType int fileType) |
abstract boolean | stopAudioRecord () |
abstract boolean | recoveryRecordFile (String fileDir) |
abstract String | getScreenCaptureId () |
abstract boolean | enableScreenCapture (boolean enable) |
abstract void | stopAllVideos () |
abstract boolean | snapshotWithStreamId (String streamId, String path) |
abstract void | setAudioInputFrameCallback (AudioInputFrameCallback callback) |
abstract void | setVideoCaptureFrameCallback (VideoFrameCallback callback) |
abstract void | setScreenCaptureData (Bitmap bitmap) |
abstract void | resetScreenCaptureData () |
abstract boolean | startAudioTest (@DeviceTestType int type, String fileName) |
abstract boolean | stopAudioTest (@DeviceTestType int type) |
abstract int | getMicLevel () |
abstract int | getSpkLevel () |
abstract int | getAnrNoiseLevel () |
abstract int | getAnrNoiseRatio () |
abstract boolean | startRing (String filePath, boolean isLoop) |
abstract boolean | stopRing () |
abstract boolean | enableAudioInputFromFile (boolean enable, String filePath, boolean loop) |
abstract boolean | suspendAudioInputFromFile (boolean suspend) |
abstract void | setAec (boolean aecOn) |
abstract void | setAgc (boolean agcOn) |
静态 Public 成员函数 | |
static JRTCMediaDevice | create (JRTCClient client, JRTCMediaDeviceCallback callback, JRTCMediaDeviceInitParam initParam) |
static void | destroy () |
Public 属性 | |
boolean | defaultSpeakerOn = false |
boolean | useInternalAudioDeviceLogic = true |
JRTCMediaDeviceCamera | defaultCamera |
JRTCMediaDeviceAudioParam | 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 | 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 | 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_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 = 0 |
static final int | VIDEO_RECORD_FILE_AVI_I420 = 1 |
static final int | VIDEO_RECORD_FILE_AVI_H264 = 2 |
static final int | VIDEO_RECORD_FILE_MP4_H264 = 3 |
static final int | VIDEO_RECORD_FILE_MP4_AV1 = 4 |
static final int | RECORD_AUDIO_NO = 0 |
static final int | RECORD_AUDIO_FROM_MICROPHONE = 1 |
static final int | RECORD_AUDIO_FROM_SPEAKER = 2 |
static final int | RECORD_AUDIO_BOTH = 3 |
static final int | AUDIO_ROUTE_UNKNOWN = -1 |
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 | DEVICE_TEST_TYPE_MIC = 1 |
static final int | DEVICE_TEST_TYPE_SPEAKER = 2 |
static final int | VIDEO_ERROR_OTHER = 0 |
static final int | VIDEO_ERROR_CAMERA = 1 |
static final int | VIDEO_ERROR_SCREEN = 2 |
static final int | VIDEO_ERROR_RENDER = 3 |
Protected 成员函数 | |
abstract void | destroyObj () |
音视频设备管理
|
abstract |
切换音频输出通道
audioRouteType | 音频输出通道类型 |
|
static |
创建 JRTCMediaDevice 对象
JRTCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
destroy
方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JRTCMediaDevice 对象state
状态值不等于 STATE_NOT_INIT
client | JRTCClient 对象 |
callback | JRTCMediaDeviceCallback 对象,用于回调相关通知 |
initParam | 预留参数,目前不生效 |
JRTCClient、JRTCMediaDeviceCallback 任意一个参数传空就会调用失败 |
|
static |
销毁 JRTCMediaDevice 对象
|
abstractprotected |
销毁对象
|
abstract |
开始/结束播放本地音频文件作为音频源输入
enable | - true: 开始输入,当输入完成后会收到 onFileAudioInputDidFinish 回调通知
|
filePath | 音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件) |
loop | 是否循环播放 |
|
abstract |
开启/关闭屏幕采集
enable | 是否开启 |
|
abstract |
开启/关闭扬声器
只有在音频已经启动的情况下调用才会生效
enable | 开启或关闭扬声器
|
|
abstract |
获取当前噪声强度 环境平均噪声强度(1s), 检测需要打开麦克风 startAudio
或者 startAudioInput
|
abstract |
获取当前信噪比强度 环境平均信噪比强度(1s), 检测需要打开麦克风 startAudio
或者 startAudioInput
|
abstract |
获得当前音频输出通道类型,获得当前音频输出类型,如扬声器、听筒、耳机、蓝牙等
|
abstract |
获取连接的蓝牙名称
|
abstract |
获取摄像头列表
|
abstract |
获取摄像头类型
cameraIndex | 摄像头队列索引 |
|
abstract |
获取当前摄像头
|
abstract |
获取当前本地音量级别,音量级别范围为0-100,用以测试设备 目前只在开始麦克风检测,或者当房间内有输入音频时,才能获取到有效的音量级别
|
abstract |
获取屏幕共享采集Id
|
abstract |
获取当前扬声器音量级别,音量级别范围为0-100,用以测试设备 目前只在开始扬声器检测,或者当房间内有输出音频时,才能获取到有效的音量级别
|
abstract |
获取视频窗体角度
|
abstract |
获取文件视频源ID
|
abstract |
音频输入是否打开
|
abstract |
音频输出是否打开
|
abstract |
摄像头是否打开
|
abstract |
是否开启扬声器
|
abstract |
是否开启文件视频源
|
abstract |
恢复录制文件
fileDir | 录制文件所在本地目录 |
|
abstract |
重置屏幕采集数据
|
abstract |
|
abstract |
|
abstract |
设置音频输入数据回调
callback | AudioInputFrameCallback 接口对象 |
|
abstract |
设置摄像头采集属性
在调用 startCamera
接口开启摄像头前设置即可生效
width | 采集宽度, 默认为 640 |
height | 采集高度, 默认为 360 |
frameRate | 采集帧速率,默认为 24 |
|
abstract |
设置屏幕采集数据为指定图片数据
bitmap | 替换图片 |
|
abstract |
设置屏幕共享采集属性
在调用 enableScreenCapture
接口开启屏幕共享前设置即可生效
width | 采集宽度,默认1280 |
height | 采集高度,默认720 |
frameRate | 采集帧速率,默认10 |
|
abstract |
设置视频窗体角度
angle | 参看 VideoAngle |
|
abstract |
设置视频采集帧数据回调
callback | VideoFrameCallback 接口对象 |
|
abstract |
逐帧采集视频画面
当为 H264 格式时
data | 画面二进制数据 |
format | 视频像素格式 |
width | 宽 |
height | 高 |
angle | 90 的倍数 |
mirror | 0 不镜像,1进行左右镜像 |
keyFrame | 是否为关键帧,针对 format 为 H264 |
|
abstract |
截图
streamId | 要截图的视频流ID |
path | 要存放截图的文件路径 |
|
abstract |
指定要开启的摄像头,在 startCamera
之前调用
camera | 摄像头对象 |
|
abstract |
指定摄像头采集角度,为90的倍数
angle | 角度 |
|
abstract |
启动音频
|
abstract |
打开音频输入设备
|
abstract |
打开音频输出设备
|
abstract |
开启音频录制(本地录制,不需要建立通信,不能和视频录制 startVideoCaptureRecord
同时开启)
filePath | 保存的文件路径,必须包含文件名(xxx.wav或者xxx.pcm) |
audioSource | 录制文件音频源 |
fileType | 录制文件编码封装类型 |
|
abstract |
检测音频设备是否正常
type | 音频设备类型,DeviceTestType |
fileName | 测试扬声器时播放的文件路径,测试麦克风是传 null 即可 |
|
abstract |
开启摄像头
defaultCamera
不为空,否则将直接返回 falseonCameraUpdate
回调
|
abstract |
开始本端视频渲染
获取本端视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示
defaultCamera
不为空,否则将直接返回 null renderType | 渲染模式:
|
|
abstract |
开始本端视频渲染
获取本端视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示
defaultCamera
不为空,否则将直接返回 null renderType | 渲染模式:
|
useTextureView | 是否使用TextureView作为视图控件,默认SurfaceView作为视图控件 |
|
abstract |
开始播放音频
onRingPlayFinish
回调通知 filePath | 音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件) |
isLoop | 是否循环播放 |
|
abstract |
开始远端的视频渲染
获取其他端的视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示
streamId | 视频流ID |
renderType | 渲染模式:
|
|
abstract |
开始其他端的视频渲染
获取其他端的视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示
streamId | 视频流ID |
renderType | 渲染模式:
|
useTextureView | 是否使用TextureView作为视图控件,默认SurfaceView作为视图控件 |
|
abstract |
开启视频录制(本地录制,不需要建立通信,不能和音频录制 startAudioRecord
同时开启)
filePath | 保存的文件路径,必须包含文件名(xxx.mp4或者xxx.avi) |
streamId | 视频流ID, (包括摄像头ID、文件视频源ID、屏幕采集流ID等) |
audioSource | 录制文件音频源 |
fileType | 录制文件编码封装类型 |
width | 录制文件宽(传-1,则使用实际视频采集的宽) |
height | 录制文件高(传-1,则使用实际视频采集的高) |
startVideoCaptureRecord
替换
|
abstract |
开启视频录制(本地录制,不需要建立通信,不能和音频录制 startAudioRecord
同时开启)
streamId | 视频流ID, (包括摄像头ID、文件视频源ID、屏幕采集流ID等) |
recordParam | 录制参数 |
|
abstract |
开启视频文件作为视频输入源
onCameraUpdate
回调
|
abstract |
停止所有视频渲染
|
abstract |
停止音频
|
abstract |
关闭音频输入
|
abstract |
关闭音频输出设备
|
abstract |
关闭音频录制(本地录制,不需要建立通信)
|
abstract |
停止检测音频设备 注意:开启某项音频设备检测完成后,需停止对应的测试,避免影响后续的音频设备的使用
type | 音频设备类型 |
|
abstract |
关闭摄像头
onCameraUpdate
回调
|
abstract |
结束播放音频
onRingPlayFinish
回调通知
|
abstract |
停止视频渲染
canvas | JRTCMediaDeviceVideoCanvas 对象,由 startVideo 或 startCameraVideo 接口返回 |
|
abstract |
关闭视频录制(本地录制,不需要建立通信)
streamId | 视频流ID (包括摄像头ID、文件视频源ID、屏幕采集流ID等) |
|
abstract |
关闭视频文件作为视频输入源
onCameraUpdate
回调
|
abstract |
暂停/继续播放语音文件作为音频源输入
suspend | true 暂停播放 false 继续播放 |
|
abstract |
切换摄像头
内部会根据当前摄像头类型来进行切换
switchCamera(JRTCMediaDeviceCamera)
接口并提供返回值
|
abstract |
切换到指定摄像头
调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false
camera | 摄像头对象 |
onCameraUpdate
回调
|
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 |
扬声器
|
static |
未知
JRTCMediaDeviceAudioParam audioParam |
音频参数
需要在调用 startAudio
方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。
|
static |
BGRA
|
static |
后置摄像头
|
static |
前置摄像头
|
static |
未获取到摄像头
|
static |
未知摄像头
JRTCMediaDeviceCamera defaultCamera |
默认摄像头
boolean defaultSpeakerOn = false |
没有插入耳机或外接蓝牙时是否默认开启扬声器
|
static |
麦克风
|
static |
扬声器
|
static |
H264
|
static |
I420
|
static |
IYUV
|
static |
MJPG
|
static |
NV12
|
static |
NV21
|
static |
录制输入音频和输出音频
|
static |
录制输入音频
|
static |
录制输出音频
|
static |
不录制音频
|
static |
自适应
|
static |
视频图像的内容完全呈现到渲染区域(可能会出现黑边,类似放电影的荧幕)
|
static |
视频图像按比例填充整个渲染区域(裁剪掉超出渲染区域的部分区域)
|
static |
RGB24
|
static |
RGB565
boolean useInternalAudioDeviceLogic = true |
是否使用内部音频设备逻辑
1.打开扬声器 -> 使用扬声器输出声音 2.连上蓝牙耳机 -> 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 -> 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 -> (蓝牙耳机|有线耳机) > 听筒
|
static |
UYVY
|
static |
0度
|
static |
180度
|
static |
270度
|
static |
90度
|
static |
自动
|
static |
摄像头异常
|
static |
其他未知异常
|
static |
视频渲染异常
|
static |
屏幕采集异常
|
static |
封装格式AVI,视频编码格式H264, 音频编码格式PCM
|
static |
封装格式AVI,视频编码格式I420, 音频编码格式PCM
|
static |
封装格式AVI,视频编码格式VP8, 音频编码格式PCM
|
static |
封装格式MP4,视频编码格式AV1,音频编码格式AAC
|
static |
封装格式MP4,视频编码格式H264,音频编码格式AAC
|
static |
YUY2
|
static |
YV12