被 com.juphoon.cloud.JCMediaDeviceImpl 继承.

class  JCMediaDeviceAudioParam
 
class  JCMediaDeviceCamera
 
enum  RenderMirrorType
 

Public 成员函数

abstract boolean isCameraOpen ()
 
abstract boolean isSpeakerOn ()
 
abstract JCMediaDeviceCamera getCamera ()
 
abstract List< JCMediaDeviceCameragetCameras ()
 
abstract List< JCMediaDeviceCameragetExtCameras ()
 
abstract JCMediaDeviceVideoCanvas startCameraVideo (@RenderType int renderType)
 
abstract JCMediaDeviceVideoCanvas startVideo (String videoSource, @RenderType int renderType)
 
abstract void stopVideo (@NonNull JCMediaDeviceVideoCanvas canvas)
 
abstract boolean isAudioStart ()
 
abstract boolean startAudio ()
 
abstract boolean stopAudio ()
 
abstract boolean setAudioAecMode (int mode)
 
abstract boolean startCamera ()
 
abstract boolean stopCamera ()
 
abstract boolean switchCamera ()
 
abstract boolean switchCamera (JCMediaDeviceCamera camera)
 
abstract void setCameraProperty (int width, int height, int frameRate)
 
abstract void setScreenCaptureProperty (int width, int height, int frameRate)
 
abstract int getCameraType (int cameraIndex)
 
abstract int getMinExposureCompensation ()
 
abstract int getMaxExposureCompensation ()
 
abstract float getExposureCompensationStep ()
 
abstract boolean setExposureCompensation (int level)
 
abstract boolean isCameraFlashSupported ()
 
abstract boolean enableFlash (boolean enable)
 
abstract boolean handleFocusMetering (JCMediaDeviceVideoCanvas canvas, float xPercent, float yPercent)
 
abstract boolean setCameraZoomRatio (int zoomRatio)
 
abstract int getCameraMaxZoom ()
 
abstract int getCameraCurrentZoom ()
 
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 void setAudioFrameCallback (JCAudioFrameCallback callback)
 
abstract void setVideoFrameCallback (JCVideoFrameCallback callback)
 
abstract boolean inputCustomAudioData (int sampleRateHz, int channels, ByteBuffer byteBuffer, int playDelayMS, int recDelayMS, int clockDrift)
 
abstract boolean getAudioOutputData (int sampleRateHz, int channels, ByteBuffer byteBuffer)
 
abstract int getOutputVolume ()
 
abstract int getInputVolume ()
 

静态 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 CAMERA_EXTERAL = 4
 
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 H264_SVC = 101
 
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 VIDEO_SOURCE_PEER = 0
 
static final int VIDEO_SOURCE_CAPTURE = 1
 
static final int VIDEO_SOURCE_FILE = 2
 
static final int MIRROR_NONE = 0
 
static final int MIRROR_HORIZONTAL = 1
 
static final int MIRROR_VERTICAL = 2
 
static final int MIRROR_AUTO = 3
 
static final int MIRROR_FLIP_FROM_LEFT = 4
 
static final int MIRROR_FLIP_FROM_TOP = 8
 

详细描述

用于管理设备

成员函数说明

◆ create()

static JCMediaDevice com.juphoon.cloud.JCMediaDevice.create ( JCClient  client,
JCMediaDeviceCallback  callback 
)
inlinestatic

创建 JCMediaDevice 对象

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

参数
clientJCClient 对象
callbackJCMediaDeviceCallback 对象,用于回调相关通知
返回
JCMediaDevice 对象
异常
JCClient、JCMediaDeviceCallback 任意一个参数传空就会出现调用异常
注解
- 调用此方法创建 JCMediaDevice 对象后,期间没有调用过 destroy 方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCMediaDevice 对象

◆ destroy()

static void com.juphoon.cloud.JCMediaDevice.destroy ( )
inlinestatic

销毁 JCMediaDevice 对象

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

◆ isCameraOpen()

abstract boolean com.juphoon.cloud.JCMediaDevice.isCameraOpen ( )
abstract

摄像头是否已打开

返回
摄像头是否已打开
  • true: 已打开
  • false: 未打开

◆ isSpeakerOn()

abstract boolean com.juphoon.cloud.JCMediaDevice.isSpeakerOn ( )
abstract

扬声器是否已打开

返回
扬声器是否已打开
  • true: 已打开
  • false: 未打开

◆ getCamera()

abstract JCMediaDeviceCamera com.juphoon.cloud.JCMediaDevice.getCamera ( )
abstract

获取当前的摄像头

返回
JCMediaDeviceCamera 对象,当前摄像头

◆ getCameras()

abstract List< JCMediaDeviceCamera > com.juphoon.cloud.JCMediaDevice.getCameras ( )
abstract

获取摄像头列表

返回
摄像头列表

◆ getExtCameras()

abstract List< JCMediaDeviceCamera > com.juphoon.cloud.JCMediaDevice.getExtCameras ( )
abstract

获取外置摄像头列表

返回
摄像头列表

◆ startCameraVideo()

abstract JCMediaDeviceVideoCanvas com.juphoon.cloud.JCMediaDevice.startCameraVideo ( @RenderType int  renderType)
abstract

开始自身视频渲染

获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
一对一通话建议使用 startSelfVideo 方法代替,频道建议使用 startVideo 方法代替

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

◆ startVideo()

abstract JCMediaDeviceVideoCanvas com.juphoon.cloud.JCMediaDevice.startVideo ( String  videoSource,
@RenderType int  renderType 
)
abstract

开始其他端的视频渲染

获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
一对一通话建议使用 startOtherVideo 方法代替,频道建议使用 startVideo 方法代替

参数
videoSource渲染标识串,通过 JCMediaChannelParticipantgetRenderId 方法和 JCCallItemgetRenderId 方法可以得到
renderType渲染模式:
返回
JCMediaDeviceVideoCanvas 对象

◆ stopVideo()

abstract void com.juphoon.cloud.JCMediaDevice.stopVideo ( @NonNull JCMediaDeviceVideoCanvas  canvas)
abstract

停止视频渲染

一对一通话建议使用 stopSelfVideostopOtherVideo 方法代替,频道建议使用 stopVideo 方法代替

参数
canvasJCMediaDeviceVideoCanvas 对象,由 startVideostartCameraVideo 返回

◆ isAudioStart()

abstract boolean com.juphoon.cloud.JCMediaDevice.isAudioStart ( )
abstract

音频是否已打开

返回
音频是否已打开
  • true: 已打开
  • false: 未打开

◆ startAudio()

abstract boolean com.juphoon.cloud.JCMediaDevice.startAudio ( )
abstract

启动音频

在通话连接中或者加入频道成功时,内部会自动调用此方法来启动音频

返回
调用是否成功
  • true:正常执行调用流程
  • false:调用失败

◆ stopAudio()

abstract boolean com.juphoon.cloud.JCMediaDevice.stopAudio ( )
abstract

停止音频

在通话挂断时或者离开频道时,内部会自动调用此方法来停止音频

返回
调用是否成功
  • true:正常执行调用流程
  • false:调用失败

◆ setAudioAecMode()

abstract boolean com.juphoon.cloud.JCMediaDevice.setAudioAecMode ( int  mode)
abstract

设置音频模式

更改硬件AEC(回声消除)的开启状态

参数
modeON、OFF、AUTO
返回
是否调用成功

◆ startCamera()

abstract boolean com.juphoon.cloud.JCMediaDevice.startCamera ( )
abstract

开启摄像头

返回
调用是否成功
  • true:正常执行调用流程,存在以下两种场景:
  • 若调用此方法前摄像头已打开,不会收到通知
  • 若调用此方法前摄像头未打开,会收到 onCameraUpdate 通知
  • false:调用失败,不会收到通知

◆ stopCamera()

abstract boolean com.juphoon.cloud.JCMediaDevice.stopCamera ( )
abstract

关闭摄像头

返回
调用是否成功
  • true:正常执行调用流程,存在以下两种场景:
  • 若调用此方法前摄像头已打开,会收到 onCameraUpdate 通知
  • 若调用此方法前摄像头未打开,不会收到通知
  • false:调用失败

◆ switchCamera() [1/2]

abstract boolean com.juphoon.cloud.JCMediaDevice.switchCamera ( )
abstract

切换摄像头

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

  • 调用此方法时要保证摄像头已打开,否则将直接返回 false
  • 设备拥有两个以上摄像头,否则将直接返回 true
  • 满足以上两个条件后,内部会调用 switchCamera(JCMediaDeviceCamera) 方法并提供返回值
返回
调用是否成功
  • true:正常执行调用流程
  • false:调用失败

◆ switchCamera() [2/2]

abstract boolean com.juphoon.cloud.JCMediaDevice.switchCamera ( JCMediaDeviceCamera  camera)
abstract

切换摄像头

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

参数
camera摄像头
返回
调用是否成功
  • true:正常执行调用流程
  • 摄像头个数为1,不会收到回调
  • 摄像头个数大于1,会收到 onCameraUpdate 通知
  • false:调用失败,不会收到回调

◆ setCameraProperty()

abstract void com.juphoon.cloud.JCMediaDevice.setCameraProperty ( int  width,
int  height,
int  frameRate 
)
abstract

设置摄像头采集属性

在调用 startSelfVideo 方法或 startVideo 方法开启自身视频渲染前设置即可生效

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

◆ setScreenCaptureProperty()

abstract void com.juphoon.cloud.JCMediaDevice.setScreenCaptureProperty ( int  width,
int  height,
int  frameRate 
)
abstract

设置屏幕共享采集属性

在调用 enableScreenShare 方法开启屏幕共享前设置即可生效

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

◆ getCameraType()

abstract int com.juphoon.cloud.JCMediaDevice.getCameraType ( int  cameraIndex)
abstract

获得摄像头类型

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

◆ getMinExposureCompensation()

abstract int com.juphoon.cloud.JCMediaDevice.getMinExposureCompensation ( )
abstract

获取摄像头曝光补偿最大最小值,单位EV

返回
最小曝光补偿:

◆ getMaxExposureCompensation()

abstract int com.juphoon.cloud.JCMediaDevice.getMaxExposureCompensation ( )
abstract

获取摄像头曝光补偿最大最小值,单位EV

返回
最大曝光补偿:

◆ getExposureCompensationStep()

abstract float com.juphoon.cloud.JCMediaDevice.getExposureCompensationStep ( )
abstract

获取摄像头曝光补偿步长

返回
获取曝光补偿步长:

◆ setExposureCompensation()

abstract boolean com.juphoon.cloud.JCMediaDevice.setExposureCompensation ( int  level)
abstract

设置曝光度

  • true: 成功
  • false:失败
返回
返回设置结果:

◆ isCameraFlashSupported()

abstract boolean com.juphoon.cloud.JCMediaDevice.isCameraFlashSupported ( )
abstract

查询摄像头是否支持闪光灯

  • true: 支持
  • false:不支持
返回
返回查询结果:

◆ enableFlash()

abstract boolean com.juphoon.cloud.JCMediaDevice.enableFlash ( boolean  enable)
abstract

是否使用闪光灯

  • true: 开启
  • false:关闭
返回
返回使用结果

◆ handleFocusMetering()

abstract boolean com.juphoon.cloud.JCMediaDevice.handleFocusMetering ( JCMediaDeviceVideoCanvas  canvas,
float  xPercent,
float  yPercent 
)
abstract

设置触屏对焦

调用此方法时需要保证该视频对象正在渲染,否则将调用失败

参数
xPercent焦点所在渲染视图 x 轴的比例,取值范围 0-1
yPercent焦点所在渲染视图 y 轴的比例,取值范围 0-1
返回
是否成功
  • true: 成功
  • false: 失败

◆ setCameraZoomRatio()

abstract boolean com.juphoon.cloud.JCMediaDevice.setCameraZoomRatio ( int  zoomRatio)
abstract

设置变焦


  • 调用此方法时要保证摄像头已打开,否则将直接返回 -1
参数
zoomRatio
返回
设置是否成功
  • true : 调用接口成功
  • false : 调用失败

◆ getCameraMaxZoom()

abstract int com.juphoon.cloud.JCMediaDevice.getCameraMaxZoom ( )
abstract

获取镜头最大焦距


  • 调用此方法时要保证摄像头已打开,否则将直接返回 -1
返回
镜头的最大焦距
  • 返回小于0, 表示不支持变焦

◆ getCameraCurrentZoom()

abstract int com.juphoon.cloud.JCMediaDevice.getCameraCurrentZoom ( )
abstract

获取镜头的当前焦距


  • 调用此方法时要保证摄像头已打开,否则将直接返回 -1
返回
镜头的当前使用焦距

◆ enableSpeaker()

abstract void com.juphoon.cloud.JCMediaDevice.enableSpeaker ( boolean  enable)
abstract

开启/关闭扬声器

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

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

◆ isVideoFileOpen()

abstract boolean com.juphoon.cloud.JCMediaDevice.isVideoFileOpen ( )
abstract

文件视频源是否已开启

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

◆ getVideoFileId()

abstract String com.juphoon.cloud.JCMediaDevice.getVideoFileId ( )
abstract

获取文件视频源渲染id

返回
文件视频源渲染id

◆ startVideoFile()

abstract boolean com.juphoon.cloud.JCMediaDevice.startVideoFile ( )
abstract

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

返回
调用是否成功
  • true:正常执行调用流程,存在以下两种场景:
  • 若调用此方法时文件视频源已开启,则不会收到回调
  • 若调用此方法时文件视频源还未开启,则会收到 onCameraUpdate 回调
  • false:调用失败,不会收到回调
注解
- 加入会议前或者一对一通话接听前调用
  • 文件和摄像头作为视频输入源只能存在一种,如果当前摄像头已开启的话会关闭摄像头

◆ setVideoFileFrame()

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

逐帧采集视频画面

调用此方法时要保证文件视频源已开启

参数
data画面二进制数据
format视频像素格式
width
height
angle90 的倍数
mirror0 不镜像,1进行左右镜像
keyFrame是否为关键帧,针对 format 为 H264
  • true: 关键帧
  • false: 不是关键帧
注解
当 format 为 H264 格式并且是关键帧时:
  • 第一帧一定要包含关键帧,并且需要将 0x67 0x68 0x65 的数据作为完整一帧传入,其中0x67,0x68为pps,0x65为关键帧标识
  • 后续P帧以 0x41 数据形式传入
  • 关键帧要以固定间隔传入,例如5秒,否则一开始可能有几秒对端无法显示视频

◆ stopVideoFile()

abstract boolean com.juphoon.cloud.JCMediaDevice.stopVideoFile ( )
abstract

关闭逐帧采集画面

返回
调用是否成功
  • true:正常执行调用流程,存在以下两种场景:
  • 若调用此方法时文件视频源已关闭,不会收到回调
  • 若调用此方法时文件视频源未关闭,则会收到 onCameraUpdate 回调
  • false:调用失败,不会收到回调

◆ getAudioRouteType()

abstract int com.juphoon.cloud.JCMediaDevice.getAudioRouteType ( )
abstract

音频路由类型

返回
音频路由类型:

◆ setVideoAngle()

abstract void com.juphoon.cloud.JCMediaDevice.setVideoAngle ( @VideoAngle int  angle)
abstract

设置视频窗体角度

参数
angle视频旋转角度:

◆ getVideoAngle()

abstract int com.juphoon.cloud.JCMediaDevice.getVideoAngle ( )
abstract

获取视频窗体角度

返回
视频渲染窗体角度

◆ setAudioFrameCallback()

abstract void com.juphoon.cloud.JCMediaDevice.setAudioFrameCallback ( JCAudioFrameCallback  callback)
abstract

设置语音观测器对象

该方法用于设置语音观测器对象,即注册回调。当需要 SDK 给出 onAudioInputFrameonAudioOutputFrame 回调时,需要使用该方法注册回调。该方法需要在加入频道前或开始通话前调用

参数
callbackJCAudioFrameCallback 对象。传入 null 表示取消注册。我们建议在收到 onLeaveonStoponCallItemRemove 后调用,来释放语音观测器对象

◆ setVideoFrameCallback()

abstract void com.juphoon.cloud.JCMediaDevice.setVideoFrameCallback ( JCVideoFrameCallback  callback)
abstract

设置视频观测器对象

该方法用于设置视频观测器对象,即注册回调。当需要 SDK 给出 onVideoCaptureFrameonVideoRenderFrame 回调时,需要使用该方法注册回调。 该方法需要在加入频道前或开始通话前调用

参数
callbackJCVideoFrameCallback 对象。传入 null 表示取消注册。我们建议在收到 onLeaveonStoponCallItemRemove 后调用,来释放语音观测器对象

◆ inputCustomAudioData()

abstract boolean com.juphoon.cloud.JCMediaDevice.inputCustomAudioData ( int  sampleRateHz,
int  channels,
ByteBuffer  byteBuffer,
int  playDelayMS,
int  recDelayMS,
int  clockDrift 
)
abstract

将音频输入数据输入到媒体层

autoStartAudioInputDevice 为 false 时才可以将音频输入数据输入到媒体层。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法传入音频数据

参数
sampleRateHz外部输入源的采样频率,取值范围:8000,16000,32000,44100,48000
channels外部输入源的采样通道数,取值范围:1或2
byteBuffer外部采集数据源,需要传入 DirectByteBuffer 对象
playDelayMS播放延时 一般设为0
recDelayMS采集延时 一般设为0
clockDrift时钟漂移 一般设为0
返回
是否正常调用
  • true: 正常执行调用流程
  • false: 调用失败

◆ getAudioOutputData()

abstract boolean com.juphoon.cloud.JCMediaDevice.getAudioOutputData ( int  sampleRateHz,
int  channels,
ByteBuffer  byteBuffer 
)
abstract

获取音频输出数据

autoStartAudioOutputDevice 为 false 时才可以获取到音频输出数据。 建议在一对一通话状态为连接中时或者加入频道成功后,在子线程不断的调用此方法获取音频输出数据

参数
sampleRateHz输出源的采集频率,取值范围:8000,16000,32000,44100,48000
channels输出源的采样通道数,取值范围:1或2
byteBuffer字节缓冲区,从媒体层获取的音频输出数据将被存入此缓冲区,需要传入 DirectByteBuffer 对象。缓冲区的容量为(采样频率*采样通道数/100)
返回
是否正常调用
  • true: 正常执行调用流程
  • false: 调用失败

◆ getOutputVolume()

abstract int com.juphoon.cloud.JCMediaDevice.getOutputVolume ( )
abstract

获取音频播放音量

返回
音频播放音量,范围从小到大是(0,80)

◆ getInputVolume()

abstract int com.juphoon.cloud.JCMediaDevice.getInputVolume ( )
abstract

获取音频采集音量

返回
音频采集音量,范围从小到大是(0,100)

类成员变量说明

◆ RENDER_FULL_SCREEN

final int com.juphoon.cloud.JCMediaDevice.RENDER_FULL_SCREEN = 0
static

铺满窗口

◆ RENDER_FULL_CONTENT

final int com.juphoon.cloud.JCMediaDevice.RENDER_FULL_CONTENT = 1
static

全图像显示,会有黑边

◆ RENDER_FULL_AUTO

final int com.juphoon.cloud.JCMediaDevice.RENDER_FULL_AUTO = 2
static

自适应

◆ CAMERA_NONE

final int com.juphoon.cloud.JCMediaDevice.CAMERA_NONE = 0
static

未获取到摄像头

◆ CAMERA_FRONT

final int com.juphoon.cloud.JCMediaDevice.CAMERA_FRONT = 1
static

前置摄像头

◆ CAMERA_BACK

final int com.juphoon.cloud.JCMediaDevice.CAMERA_BACK = 2
static

后置摄像头

◆ CAMERA_UNKNOWN

final int com.juphoon.cloud.JCMediaDevice.CAMERA_UNKNOWN = 3
static

未知摄像头

◆ CAMERA_EXTERAL

final int com.juphoon.cloud.JCMediaDevice.CAMERA_EXTERAL = 4
static

外部摄像头

◆ I420

final int com.juphoon.cloud.JCMediaDevice.I420 = 1
static

I420

◆ IYUV

final int com.juphoon.cloud.JCMediaDevice.IYUV = 2
static

IYUV

◆ RGB24

final int com.juphoon.cloud.JCMediaDevice.RGB24 = 3
static

RGB24

◆ ABGR

final int com.juphoon.cloud.JCMediaDevice.ABGR = 4
static

ABGR

◆ ARGB

final int com.juphoon.cloud.JCMediaDevice.ARGB = 5
static

ARGB

◆ ARGB444

final int com.juphoon.cloud.JCMediaDevice.ARGB444 = 6
static

ARGB444

◆ RGB565

final int com.juphoon.cloud.JCMediaDevice.RGB565 = 7
static

RGB565

◆ ARGB1555

final int com.juphoon.cloud.JCMediaDevice.ARGB1555 = 8
static

ARGB1555

◆ YUY2

final int com.juphoon.cloud.JCMediaDevice.YUY2 = 9
static

YUY2

◆ YV12

final int com.juphoon.cloud.JCMediaDevice.YV12 = 10
static

YV12

◆ UYVY

final int com.juphoon.cloud.JCMediaDevice.UYVY = 11
static

UYVY

◆ MJPG

final int com.juphoon.cloud.JCMediaDevice.MJPG = 12
static

MJPG

◆ NV21

final int com.juphoon.cloud.JCMediaDevice.NV21 = 13
static

NV21

◆ NV12

final int com.juphoon.cloud.JCMediaDevice.NV12 = 14
static

NV12

◆ BGRA

final int com.juphoon.cloud.JCMediaDevice.BGRA = 15
static

BGRA

◆ H264

final int com.juphoon.cloud.JCMediaDevice.H264 = 100
static

H264

◆ H264_SVC

final int com.juphoon.cloud.JCMediaDevice.H264_SVC = 101
static

H264-SVC

◆ AUDIO_ROUTE_RECEIVER

final int com.juphoon.cloud.JCMediaDevice.AUDIO_ROUTE_RECEIVER = 0
static

听筒

◆ AUDIO_ROUTE_SPEAKER

final int com.juphoon.cloud.JCMediaDevice.AUDIO_ROUTE_SPEAKER = 1
static

扬声器

◆ AUDIO_ROUTE_HEADSET

final int com.juphoon.cloud.JCMediaDevice.AUDIO_ROUTE_HEADSET = 2
static

有线耳机

◆ AUDIO_ROUTE_BLUETOOTH

final int com.juphoon.cloud.JCMediaDevice.AUDIO_ROUTE_BLUETOOTH = 3
static

蓝牙耳机

◆ VIDEO_ANGLE_AUTO

final int com.juphoon.cloud.JCMediaDevice.VIDEO_ANGLE_AUTO = -1
static

自动

◆ VIDEO_ANGLE_0

final int com.juphoon.cloud.JCMediaDevice.VIDEO_ANGLE_0 = 0
static

0度

◆ VIDEO_ANGLE_90

final int com.juphoon.cloud.JCMediaDevice.VIDEO_ANGLE_90 = 90
static

90度

◆ VIDEO_ANGLE_180

final int com.juphoon.cloud.JCMediaDevice.VIDEO_ANGLE_180 = 180
static

180度

◆ VIDEO_ANGLE_270

final int com.juphoon.cloud.JCMediaDevice.VIDEO_ANGLE_270 = 270
static

270度

◆ VIDEO_SOURCE_PEER

final int com.juphoon.cloud.JCMediaDevice.VIDEO_SOURCE_PEER = 0
static

用户

◆ VIDEO_SOURCE_CAPTURE

final int com.juphoon.cloud.JCMediaDevice.VIDEO_SOURCE_CAPTURE = 1
static

采集设备

◆ VIDEO_SOURCE_FILE

final int com.juphoon.cloud.JCMediaDevice.VIDEO_SOURCE_FILE = 2
static

文件

◆ MIRROR_NONE

final int com.juphoon.cloud.JCMediaDevice.MIRROR_NONE = 0
static

不镜像

◆ MIRROR_HORIZONTAL

final int com.juphoon.cloud.JCMediaDevice.MIRROR_HORIZONTAL = 1
static

水平方向镜像

◆ MIRROR_VERTICAL

final int com.juphoon.cloud.JCMediaDevice.MIRROR_VERTICAL = 2
static

竖直方向镜像

◆ MIRROR_AUTO

final int com.juphoon.cloud.JCMediaDevice.MIRROR_AUTO = 3
static

自动选择

◆ MIRROR_FLIP_FROM_LEFT

final int com.juphoon.cloud.JCMediaDevice.MIRROR_FLIP_FROM_LEFT = 4
static

转场动画,从左侧翻转

◆ MIRROR_FLIP_FROM_TOP

final int com.juphoon.cloud.JCMediaDevice.MIRROR_FLIP_FROM_TOP = 8
static

转场动画,从上侧翻转

◆ defaultSpeakerOn

boolean com.juphoon.cloud.JCMediaDevice.defaultSpeakerOn = false

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

  • true: 默认开启
  • false: 默认关闭

◆ useInternalAudioDeviceLogic

boolean com.juphoon.cloud.JCMediaDevice.useInternalAudioDeviceLogic = true

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

修改⾳频输出设备 audioInputDevice , 务必将该参数设置为false,否则会导致修改⽆法⽣效。 内部音频设备逻辑如下:
1.打开扬声器 - 使用扬声器输出声音 2.连上蓝牙耳机 - 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 - 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 - (蓝牙耳机或有线耳机) 优于听筒

  • true: 使用内部音频设备逻辑
  • false: 不使用内部音频设备逻辑

◆ defaultCamera

JCMediaDeviceCamera com.juphoon.cloud.JCMediaDevice.defaultCamera

默认摄像头

◆ audioParam

JCMediaDeviceAudioParam com.juphoon.cloud.JCMediaDevice.audioParam

音频参数

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


该类的文档由以下文件生成:
  • cloud/src/main/common/com/juphoon/cloud/JCMediaDevice.java
最后更新时间: 2023/11/7 09:38:09