JRTCSDK-Android v2401.0
视频客服 API 文档
载入中...
搜索中...
未找到
| Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 静态 Public 属性 | Protected 成员函数 | 所有成员列表
JRTCMediaDevice类 参考abstract

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< JRTCMediaDeviceCameragetCameras ()
 
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 ()
 

详细描述

音视频设备管理

成员函数说明

◆ changeAudioOutput()

abstract void changeAudioOutput ( @AudioRouteType int  audioRouteType)
abstract

切换音频输出通道

参数
audioRouteType音频输出通道类型
注解
不同于enableSpeaker,关闭扬声器后,如果是打开音频,但是蓝牙连接时,就不会打开蓝牙,与 JRTCAudioManager 逻辑不同

◆ create()

static JRTCMediaDevice create ( JRTCClient  client,
JRTCMediaDeviceCallback  callback,
JRTCMediaDeviceInitParam  initParam 
)
static

创建 JRTCMediaDevice 对象

JRTCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用

注解
  • 调用此方法创建 JRTCMediaDevice 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JRTCMediaDevice 对象
  • 调用此方法前确保 JRTCClient 已完成初始化,即 state 状态值不等于 STATE_NOT_INIT
参数
clientJRTCClient 对象
callbackJRTCMediaDeviceCallback 对象,用于回调相关通知
initParam预留参数,目前不生效
参见
JRTCMediaDeviceInitParam
返回
JRTCMediaDevice 对象
异常
JRTCClient、JRTCMediaDeviceCallback 任意一个参数传空就会调用失败

◆ destroy()

static void destroy ( )
static

销毁 JRTCMediaDevice 对象

注解
该方法为同步调用,需要等待 JRTCMediaDevice 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JRTCMediaDevice 的其它方法和回调。
我们 不建议 在 JRTCSDK 的回调中调用此方法销毁 JRTCMediaDevice 对象,否则会出现崩溃。
如需在销毁后再次创建 JRTCMediaDevice 实例,需要等待 destroy 方法执行结束后再创建实例。

◆ destroyObj()

abstract void destroyObj ( )
abstractprotected

销毁对象

◆ enableAudioInputFromFile()

abstract boolean enableAudioInputFromFile ( boolean  enable,
String  filePath,
boolean  loop 
)
abstract

开始/结束播放本地音频文件作为音频源输入

注解
如果用户正在通话中,该音频将播放到通话内,通话中所有成员包括自己都能听到
参数
enable- true: 开始输入,当输入完成后会收到 onFileAudioInputDidFinish 回调通知
filePath音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件)
loop是否循环播放
注解
重复调用会覆盖
返回
接口调用结果
  • true: 接口调用成功,
  • false: 接口调用异常

◆ enableScreenCapture()

abstract boolean enableScreenCapture ( boolean  enable)
abstract

开启/关闭屏幕采集

参数
enable是否开启
返回
开启/关闭 是否成功

◆ enableSpeaker()

abstract void enableSpeaker ( boolean  enable)
abstract

开启/关闭扬声器

只有在音频已经启动的情况下调用才会生效

参数
enable开启或关闭扬声器
  • true: 开启
  • false: 关闭

◆ getAnrNoiseLevel()

abstract int getAnrNoiseLevel ( )
abstract

获取当前噪声强度 环境平均噪声强度(1s), 检测需要打开麦克风 startAudio 或者 startAudioInput

返回
噪声强度
  • -1:获取失败
  • 0-50dB:噪声非常微弱
  • 50-60dB:噪声较弱
  • 60-70dB:噪声较强
  • 70dB以上:噪声非常强

◆ getAnrNoiseRatio()

abstract int getAnrNoiseRatio ( )
abstract

获取当前信噪比强度 环境平均信噪比强度(1s), 检测需要打开麦克风 startAudio 或者 startAudioInput

返回
噪声强度
  • -1:获取失败
  • 0-20dB:噪声明显,语音含糊,较难听清
  • 20-40dB:语音基本能听清,但有一定的噪声
  • 40dB以上:语音非常清晰

◆ getAudioRouteType()

abstract int getAudioRouteType ( )
abstract

获得当前音频输出通道类型,获得当前音频输出类型,如扬声器、听筒、耳机、蓝牙等

返回
当前音频输出通道类型

◆ getBluetoothName()

abstract String getBluetoothName ( )
abstract

获取连接的蓝牙名称

返回
蓝牙名称

◆ getCameras()

abstract List< JRTCMediaDeviceCamera > getCameras ( )
abstract

获取摄像头列表

返回
摄像头列表

◆ getCameraType()

abstract int getCameraType ( int  cameraIndex)
abstract

获取摄像头类型

参数
cameraIndex摄像头队列索引
返回
摄像头类型

◆ getCurrentCamera()

abstract JRTCMediaDeviceCamera getCurrentCamera ( )
abstract

获取当前摄像头

返回
当前摄像头

◆ getMicLevel()

abstract int getMicLevel ( )
abstract

获取当前本地音量级别,音量级别范围为0-100,用以测试设备 目前只在开始麦克风检测,或者当房间内有输入音频时,才能获取到有效的音量级别

返回
麦克风音量级别,返回-1获取失败

◆ getScreenCaptureId()

abstract String getScreenCaptureId ( )
abstract

获取屏幕共享采集Id

返回
屏幕共享采集Id

◆ getSpkLevel()

abstract int getSpkLevel ( )
abstract

获取当前扬声器音量级别,音量级别范围为0-100,用以测试设备 目前只在开始扬声器检测,或者当房间内有输出音频时,才能获取到有效的音量级别

返回
扬声器音量级别,返回-1获取失败

◆ getVideoAngle()

abstract int getVideoAngle ( )
abstract

获取视频窗体角度

返回
视频渲染窗体角度

◆ getVideoFileId()

abstract String getVideoFileId ( )
abstract

获取文件视频源ID

返回
文件视频源ID

◆ isAudioInputStart()

abstract boolean isAudioInputStart ( )
abstract

音频输入是否打开

返回
摄像头是否打开

◆ isAudioOutputStart()

abstract boolean isAudioOutputStart ( )
abstract

音频输出是否打开

返回
摄像头是否打开

◆ isCameraOpen()

abstract boolean isCameraOpen ( )
abstract

摄像头是否打开

返回
摄像头是否打开

◆ isSpeakerOn()

abstract boolean isSpeakerOn ( )
abstract

是否开启扬声器

返回
是否开启扬声器

◆ isVideoFileOpen()

abstract boolean isVideoFileOpen ( )
abstract

是否开启文件视频源

返回
是否开启文件视频源
  • true: 已开启视频文件作为视频源
  • false: 未开启视频文件作为视频源

◆ recoveryRecordFile()

abstract boolean recoveryRecordFile ( String  fileDir)
abstract

恢复录制文件

注解
使用场景:
  1. 开启音视频录制;
  2. 录制过程中程序出现异常(比如崩溃),导致无法正常关闭音视频录制;
  3. 本地录制目录下生成了录制过程文件,不是一个有效的音视频文件;
  4. 当程序再次启动时可以调用该接口,将录制目录中已经录制的音视频过程文件恢复成有效的音视频文件。
参数
fileDir录制文件所在本地目录
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ resetScreenCaptureData()

abstract void resetScreenCaptureData ( )
abstract

重置屏幕采集数据

◆ setAec()

abstract void setAec ( boolean  aecOn)
abstract

设置开启自适应回声消除

注解
需要在打开音频输入设备 startAudioInput() 或者 startAudio() 前调用才生效
参数
aecOn是否开启自适应回声消除

◆ setAgc()

abstract void setAgc ( boolean  agcOn)
abstract

设置是否开启自动增益控制

注解
需要在打开音频输入设备 startAudioInput() 或者 startAudio() 前调用才生效
参数
agcOn是否开启自动增益控制

◆ setAudioInputFrameCallback()

abstract void setAudioInputFrameCallback ( AudioInputFrameCallback  callback)
abstract

设置音频输入数据回调

参数
callbackAudioInputFrameCallback 接口对象

◆ setCameraProperty()

abstract void setCameraProperty ( int  width,
int  height,
int  frameRate 
)
abstract

设置摄像头采集属性

在调用 startCamera 接口开启摄像头前设置即可生效

参数
width采集宽度, 默认为 640
height采集高度, 默认为 360
frameRate采集帧速率,默认为 24

◆ setScreenCaptureData()

abstract void setScreenCaptureData ( Bitmap  bitmap)
abstract

设置屏幕采集数据为指定图片数据

参数
bitmap替换图片

◆ setScreenCaptureProperty()

abstract void setScreenCaptureProperty ( int  width,
int  height,
int  frameRate 
)
abstract

设置屏幕共享采集属性

在调用 enableScreenCapture 接口开启屏幕共享前设置即可生效

参数
width采集宽度,默认1280
height采集高度,默认720
frameRate采集帧速率,默认10

◆ setVideoAngle()

abstract void setVideoAngle ( @VideoAngle int  angle)
abstract

设置视频窗体角度

参数
angle参看 VideoAngle

◆ setVideoCaptureFrameCallback()

abstract void setVideoCaptureFrameCallback ( VideoFrameCallback  callback)
abstract

设置视频采集帧数据回调

参数
callbackVideoFrameCallback 接口对象

◆ setVideoFileFrame()

abstract void setVideoFileFrame ( byte[]  data,
@VideoPixelFormat int  format,
int  width,
int  height,
int  angle,
int  mirror,
boolean  keyFrame 
)
abstract

逐帧采集视频画面

当为 H264 格式时

  1. 如果是关键帧需要将 0x67 0x68 0x41 的数据作为一帧传入
  2. 关键帧要以固定间隔传入,例如5秒,否则一开始可能有几秒对端无法显示视频
参数
data画面二进制数据
format视频像素格式
width
height
angle90 的倍数
mirror0 不镜像,1进行左右镜像
keyFrame是否为关键帧,针对 format 为 H264

◆ snapshotWithStreamId()

abstract boolean snapshotWithStreamId ( String  streamId,
String  path 
)
abstract

截图

参数
streamId要截图的视频流ID
path要存放截图的文件路径
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ specifyCamera()

abstract void specifyCamera ( JRTCMediaDeviceCamera  camera)
abstract

指定要开启的摄像头,在 startCamera 之前调用

参数
camera摄像头对象

◆ specifyCameraAngle()

abstract void specifyCameraAngle ( int  angle)
abstract

指定摄像头采集角度,为90的倍数

参数
angle角度

◆ startAudio()

abstract boolean startAudio ( )
abstract

启动音频

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startAudioInput()

abstract boolean startAudioInput ( )
abstract

打开音频输入设备

注解
默认开启自适应回声消除和自动增益控制
返回
调用是否成功
  • true: 调用成功
  • false: 调用失败

◆ startAudioOutput()

abstract boolean startAudioOutput ( )
abstract

打开音频输出设备

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startAudioRecord()

abstract boolean startAudioRecord ( @NonNull String  filePath,
@RecordAudioSource int  audioSource,
@AudioRecordFileType int  fileType 
)
abstract

开启音频录制(本地录制,不需要建立通信,不能和视频录制 startVideoCaptureRecord 同时开启)

参数
filePath保存的文件路径,必须包含文件名(xxx.wav或者xxx.pcm)
audioSource录制文件音频源
fileType录制文件编码封装类型
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startAudioTest()

abstract boolean startAudioTest ( @DeviceTestType int  type,
String  fileName 
)
abstract

检测音频设备是否正常

参数
type音频设备类型,DeviceTestType
fileName测试扬声器时播放的文件路径,测试麦克风是传 null 即可
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startCamera()

abstract boolean startCamera ( )
abstract

开启摄像头

注解
调用此方法时需要保证默认摄像头不为空,即 defaultCamera 不为空,否则将直接返回 false
返回
接口调用结果
  • true: 接口调用成功
    • 若调用此方法前摄像头已打开,不会收到回调通知
    • 若调用此方法前摄像头未打开,会收到 onCameraUpdate 回调
  • false: 接口调用异常

◆ startCameraVideo() [1/2]

abstract JRTCMediaDeviceVideoCanvas startCameraVideo ( @RenderType int  renderType)
abstract

开始本端视频渲染

获取本端视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示

注解
调用此方法时需要保证默认摄像头不为空,即 defaultCamera 不为空,否则将直接返回 null
参数
renderType渲染模式:
返回
  • JRTCMediaDeviceVideoCanvas 对象: 开始自身视频渲染成功
  • null: 开始自身视频渲染失败

◆ startCameraVideo() [2/2]

abstract JRTCMediaDeviceVideoCanvas startCameraVideo ( @RenderType int  renderType,
boolean  useTextureView 
)
abstract

开始本端视频渲染

获取本端视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示

注解
调用此方法时需要保证默认摄像头不为空,即 defaultCamera 不为空,否则将直接返回 null
参数
renderType渲染模式:
useTextureView是否使用TextureView作为视图控件,默认SurfaceView作为视图控件
返回
  • JRTCMediaDeviceVideoCanvas 对象: 开始自身视频渲染成功
  • null: 开始自身视频渲染失败

◆ startRing()

abstract boolean startRing ( String  filePath,
boolean  isLoop 
)
abstract

开始播放音频

注解
不管是否在通话中,该音频播放只有本地可以听到
  • 当播放音频文件完成后会收到 onRingPlayFinish 回调通知
    参数
    filePath音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件)
    isLoop是否循环播放
    返回
    播放音频结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startVideo() [1/2]

abstract JRTCMediaDeviceVideoCanvas startVideo ( String  streamId,
@RenderType int  renderType 
)
abstract

开始远端的视频渲染

获取其他端的视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示

参数
streamId视频流ID
renderType渲染模式:
返回
  • JRTCMediaDeviceVideoCanvas 对象: 开始自身视频渲染成功
  • null: 开始自身视频渲染失败

◆ startVideo() [2/2]

abstract JRTCMediaDeviceVideoCanvas startVideo ( String  streamId,
@RenderType int  renderType,
boolean  useTextureView 
)
abstract

开始其他端的视频渲染

获取其他端的视频预览对象 JRTCMediaDeviceVideoCanvas,通过此对象能获得视图用于UI显示

参数
streamId视频流ID
renderType渲染模式:
useTextureView是否使用TextureView作为视图控件,默认SurfaceView作为视图控件
返回
  • JRTCMediaDeviceVideoCanvas 对象: 开始自身视频渲染成功
  • null: 开始自身视频渲染失败

◆ startVideoCaptureRecord() [1/2]

abstract boolean startVideoCaptureRecord ( @NonNull String  filePath,
@NonNull String  streamId,
@RecordAudioSource int  audioSource,
@VideoRecordFileType int  fileType,
int  width,
int  height 
)
abstract

开启视频录制(本地录制,不需要建立通信,不能和音频录制 startAudioRecord 同时开启)

参数
filePath保存的文件路径,必须包含文件名(xxx.mp4或者xxx.avi)
streamId视频流ID, (包括摄像头ID、文件视频源ID、屏幕采集流ID等)
参见
JRTCMediaDeviceCamera::cameraId
JRTCMediaDevice::getVideoFileId()
JRTCMediaDevice::getScreenCaptureId()
参数
audioSource录制文件音频源
fileType录制文件编码封装类型
width录制文件宽(传-1,则使用实际视频采集的宽)
height录制文件高(传-1,则使用实际视频采集的高)
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常
弃用:
该方法即将废弃,请使用 startVideoCaptureRecord 替换

◆ startVideoCaptureRecord() [2/2]

abstract boolean startVideoCaptureRecord ( @NonNull String  streamId,
@NonNull JRTCRecordVideoCaptureParam  recordParam 
)
abstract

开启视频录制(本地录制,不需要建立通信,不能和音频录制 startAudioRecord 同时开启)

参数
streamId视频流ID, (包括摄像头ID、文件视频源ID、屏幕采集流ID等)
recordParam录制参数
参见
JRTCRecordVideoCaptureParam
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startVideoFile()

abstract boolean startVideoFile ( )
abstract

开启视频文件作为视频输入源

注解
文件和摄像头作为视频输入源只能存在一种,如果当前摄像头已开启的话会关闭摄像头
返回
接口调用结果
  • true: 接口调用成功
    • 若调用此方法时文件视频源已开启,则不会收到回调
    • 若调用此方法时文件视频源还未开启,则会收到 onCameraUpdate 回调
  • false: 接口调用异常,不会收到回调

◆ stopAllVideos()

abstract void stopAllVideos ( )
abstract

停止所有视频渲染

◆ stopAudio()

abstract boolean stopAudio ( )
abstract

停止音频

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopAudioInput()

abstract boolean stopAudioInput ( )
abstract

关闭音频输入

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopAudioOutput()

abstract boolean stopAudioOutput ( )
abstract

关闭音频输出设备

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopAudioRecord()

abstract boolean stopAudioRecord ( )
abstract

关闭音频录制(本地录制,不需要建立通信)

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopAudioTest()

abstract boolean stopAudioTest ( @DeviceTestType int  type)
abstract

停止检测音频设备 注意:开启某项音频设备检测完成后,需停止对应的测试,避免影响后续的音频设备的使用

参数
type音频设备类型
参见
DeviceTestType
返回
方法是否调用成功

◆ stopCamera()

abstract boolean stopCamera ( )
abstract

关闭摄像头

返回
接口调用结果
  • true: 接口调用成功
    • 调用此方法前摄像头未打开,不会收到回调通知
    • 调用此方法前摄像头已打开,会收到 onCameraUpdate 回调
  • false: 接口调用异常

◆ stopRing()

abstract boolean stopRing ( )
abstract

结束播放音频

  • 会收到 onRingPlayFinish 回调通知
    返回
    关闭音频结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopVideo()

abstract void stopVideo ( JRTCMediaDeviceVideoCanvas  canvas)
abstract

停止视频渲染

参数
canvasJRTCMediaDeviceVideoCanvas 对象,由 startVideostartCameraVideo 接口返回

◆ stopVideoCaptureRecord()

abstract boolean stopVideoCaptureRecord ( @NonNull String  streamId)
abstract

关闭视频录制(本地录制,不需要建立通信)

参数
streamId视频流ID (包括摄像头ID、文件视频源ID、屏幕采集流ID等)
返回
关闭视频录制是否成功

◆ stopVideoFile()

abstract boolean stopVideoFile ( )
abstract

关闭视频文件作为视频输入源

返回
接口调用结果
  • true: 接口调用成功
    • 若调用此方法时文件视频源已关闭,不会收到回调
    • 若调用此方法时文件视频源未关闭,则会收到 onCameraUpdate 回调
  • false: 接口调用异常

◆ suspendAudioInputFromFile()

abstract boolean suspendAudioInputFromFile ( boolean  suspend)
abstract

暂停/继续播放语音文件作为音频源输入

参数
suspendtrue 暂停播放 false 继续播放
返回
调用是否正常
  • true:正常执行调用流程
  • false:调用异常

◆ switchCamera() [1/2]

abstract boolean switchCamera ( )
abstract

切换摄像头

内部会根据当前摄像头类型来进行切换

  • 调用此方法时要保证摄像头已打开,否则将直接返回 false
  • 设备拥有两个以上摄像头,否则将直接返回 false
  • 满足以上两个条件后,内部会调用 switchCamera(JRTCMediaDeviceCamera) 接口并提供返回值
    返回
    接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ switchCamera() [2/2]

abstract boolean switchCamera ( JRTCMediaDeviceCamera  camera)
abstract

切换到指定摄像头

调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false

参数
camera摄像头对象
返回
接口调用结果
  • true: 接口调用成功
    • 摄像头个数 == 1,不会收到回调
    • 摄像头个数 > 1,会收到 onCameraUpdate 回调
  • false: 接口调用异常,不会收到回调

◆ switchCameraBetweenFrontAndBack()

abstract boolean switchCameraBetweenFrontAndBack ( )
abstract

切换摄像头,用于手机前置和后置摄像头的切换

返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

类成员变量说明

◆ ABGR

final int ABGR = 4
static

ABGR

◆ ARGB

final int ARGB = 5
static

ARGB

◆ ARGB1555

final int ARGB1555 = 8
static

ARGB1555

◆ ARGB444

final int ARGB444 = 6
static

ARGB444

◆ AUDIO_RECORD_FILE_PCM

final int AUDIO_RECORD_FILE_PCM = 0
static

封装格式PCM, 编码格式PCM

◆ AUDIO_RECORD_FILE_WAV_AMR

final int AUDIO_RECORD_FILE_WAV_AMR = 4
static

封装格式WAV,编码格式AMR

◆ AUDIO_RECORD_FILE_WAV_PCM

final int AUDIO_RECORD_FILE_WAV_PCM = 1
static

封装格式WAV, 编码格式PCM

◆ AUDIO_RECORD_FILE_WAV_PCMA

final int AUDIO_RECORD_FILE_WAV_PCMA = 3
static

封装格式WAV,编码格式PCMA

◆ AUDIO_RECORD_FILE_WAV_PCMU

final int AUDIO_RECORD_FILE_WAV_PCMU = 2
static

封装格式WAV,编码格式PCMU

◆ AUDIO_ROUTE_BLUETOOTH

final int AUDIO_ROUTE_BLUETOOTH = 3
static

蓝牙耳机

◆ AUDIO_ROUTE_HEADSET

final int AUDIO_ROUTE_HEADSET = 2
static

有线耳机

◆ AUDIO_ROUTE_RECEIVER

final int AUDIO_ROUTE_RECEIVER = 0
static

听筒

◆ AUDIO_ROUTE_SPEAKER

final int AUDIO_ROUTE_SPEAKER = 1
static

扬声器

◆ AUDIO_ROUTE_UNKNOWN

final int AUDIO_ROUTE_UNKNOWN = -1
static

未知

◆ audioParam

音频参数

需要在调用 startAudio 方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。

◆ BGRA

final int BGRA = 15
static

BGRA

◆ CAMERA_BACK

final int CAMERA_BACK = 2
static

后置摄像头

◆ CAMERA_FRONT

final int CAMERA_FRONT = 1
static

前置摄像头

◆ CAMERA_NONE

final int CAMERA_NONE = 0
static

未获取到摄像头

◆ CAMERA_UNKNOWN

final int CAMERA_UNKNOWN = 3
static

未知摄像头

◆ defaultCamera

JRTCMediaDeviceCamera defaultCamera

默认摄像头

◆ defaultSpeakerOn

boolean defaultSpeakerOn = false

没有插入耳机或外接蓝牙时是否默认开启扬声器

◆ DEVICE_TEST_TYPE_MIC

final int DEVICE_TEST_TYPE_MIC = 1
static

麦克风

◆ DEVICE_TEST_TYPE_SPEAKER

final int DEVICE_TEST_TYPE_SPEAKER = 2
static

扬声器

◆ H264

final int H264 = 100
static

H264

◆ I420

final int I420 = 1
static

I420

◆ IYUV

final int IYUV = 2
static

IYUV

◆ MJPG

final int MJPG = 12
static

MJPG

◆ NV12

final int NV12 = 14
static

NV12

◆ NV21

final int NV21 = 13
static

NV21

◆ RECORD_AUDIO_BOTH

final int RECORD_AUDIO_BOTH = 3
static

录制输入音频和输出音频

◆ RECORD_AUDIO_FROM_MICROPHONE

final int RECORD_AUDIO_FROM_MICROPHONE = 1
static

录制输入音频

◆ RECORD_AUDIO_FROM_SPEAKER

final int RECORD_AUDIO_FROM_SPEAKER = 2
static

录制输出音频

◆ RECORD_AUDIO_NO

final int RECORD_AUDIO_NO = 0
static

不录制音频

注解
当音频录制时该类型无效

◆ RENDER_FULL_AUTO

final int RENDER_FULL_AUTO = 2
static

自适应

◆ RENDER_FULL_CONTENT

final int RENDER_FULL_CONTENT = 1
static

视频图像的内容完全呈现到渲染区域(可能会出现黑边,类似放电影的荧幕)

◆ RENDER_FULL_SCREEN

final int RENDER_FULL_SCREEN = 0
static

视频图像按比例填充整个渲染区域(裁剪掉超出渲染区域的部分区域)

◆ RGB24

final int RGB24 = 3
static

RGB24

◆ RGB565

final int RGB565 = 7
static

RGB565

◆ useInternalAudioDeviceLogic

boolean useInternalAudioDeviceLogic = true

是否使用内部音频设备逻辑

1.打开扬声器 -> 使用扬声器输出声音 2.连上蓝牙耳机 -> 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 -> 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 -> (蓝牙耳机|有线耳机) > 听筒

◆ UYVY

final int UYVY = 11
static

UYVY

◆ VIDEO_ANGLE_0

final int VIDEO_ANGLE_0 = 0
static

0度

◆ VIDEO_ANGLE_180

final int VIDEO_ANGLE_180 = 180
static

180度

◆ VIDEO_ANGLE_270

final int VIDEO_ANGLE_270 = 270
static

270度

◆ VIDEO_ANGLE_90

final int VIDEO_ANGLE_90 = 90
static

90度

◆ VIDEO_ANGLE_AUTO

final int VIDEO_ANGLE_AUTO = -1
static

自动

◆ VIDEO_ERROR_CAMERA

final int VIDEO_ERROR_CAMERA = 1
static

摄像头异常

◆ VIDEO_ERROR_OTHER

final int VIDEO_ERROR_OTHER = 0
static

其他未知异常

◆ VIDEO_ERROR_RENDER

final int VIDEO_ERROR_RENDER = 3
static

视频渲染异常

◆ VIDEO_ERROR_SCREEN

final int VIDEO_ERROR_SCREEN = 2
static

屏幕采集异常

◆ VIDEO_RECORD_FILE_AVI_H264

final int VIDEO_RECORD_FILE_AVI_H264 = 2
static

封装格式AVI,视频编码格式H264, 音频编码格式PCM

◆ VIDEO_RECORD_FILE_AVI_I420

final int VIDEO_RECORD_FILE_AVI_I420 = 1
static

封装格式AVI,视频编码格式I420, 音频编码格式PCM

◆ VIDEO_RECORD_FILE_AVI_VP8

final int VIDEO_RECORD_FILE_AVI_VP8 = 0
static

封装格式AVI,视频编码格式VP8, 音频编码格式PCM

◆ VIDEO_RECORD_FILE_MP4_AV1

final int VIDEO_RECORD_FILE_MP4_AV1 = 4
static

封装格式MP4,视频编码格式AV1,音频编码格式AAC

◆ VIDEO_RECORD_FILE_MP4_H264

final int VIDEO_RECORD_FILE_MP4_H264 = 3
static

封装格式MP4,视频编码格式H264,音频编码格式AAC

◆ YUY2

final int YUY2 = 9
static

YUY2

◆ YV12

final int YV12 = 10
static

YV12