JRTCSDK-iOS v2302.0
视频客服 API 文档
载入中...
搜索中...
未找到
构造函数 | 类方法 | 属性 | 所有成员列表
JRTCMediaDevice类 参考

音视频设备管理 更多...

#import <JRTCMediaDevice.h>

构造函数

(JRTCMediaDeviceVideoCanvas *__nullable) - startCameraVideo:
 
(JRTCMediaDeviceVideoCanvas *__nullable) - startCameraVideo:view:
 
(JRTCMediaDeviceVideoCanvas *__nullable) - startVideo:renderType:
 
(JRTCMediaDeviceVideoCanvas *__nullable) - startVideo:renderType:view:
 
(void) - stopVideo:
 
(void) - stopAllVideos
 
(bool) - startAudio
 
(bool) - stopAudio
 
(bool) - startAudioInput
 
(bool) - stopAudioInput
 
(bool) - startAudioOutput
 
(bool) - stopAudioOutput
 
(bool) - startCamera
 
(bool) - stopCamera
 
(bool) - switchCamera
 
(bool) - switchCamera:
 
(void) - specifyCamera:
 
(void) - specifyCameraAngle:
 
(void) - setCameraProperty:height:framerate:
 
(void) - setScreenCaptureProperty:height:framerate:
 
(int) - getScreenFramerate
 
(void) - setVideoAngle:
 
(bool) - isSpeakerOn
 
(void) - enableSpeaker:
 
(bool) - enableScreenCapture:
 
(bool) - enableScreenCapture:appGroupId:preferredExtension:
 
(JRTCMediaDeviceAudioRouteType- getAudioRouteType
 
(NSString *__nullable) - getScreenCaptureId
 
(bool) - startVideoFile
 
(bool) - stopVideoFile
 
(bool) - setVideoFileFrame:format:width:height:angle:
 
(void) - setVideoFileFrame:angle:mirror:
 
(bool) - startVideoCaptureRecord:recordParam:
 
(bool) - startVideoCaptureRecord:streamId:audioSource:fileType:width:height:
 
(bool) - stopVideoCaptureRecord:
 
(bool) - startAudioRecord:audioSource:fileType:
 
(bool) - stopAudioRecord
 
(bool) - recoveryRecordFile:
 
(bool) - snapshotWithStreamId:path:
 
(void) - setAudioInputFrameCallback:
 
(void) - setVideoCaptureFrameCallback:
 
(void) - setScreenCaptureData:
 
(void) - resetScreenCaptureData
 
(bool) - startAudioTest:fileName:
 
(bool) - stopAudioTest:
 
(int) - getMicLevel
 
(int) - getSpkLevel
 
(int) - getAnrNoiseLevel
 
(int) - getAnrNoiseRatio
 
(bool) - startRing:isLoop:
 
(bool) - stopRing
 
(bool) - enableAudioInputFromFile:filePath:loop:
 
(bool) - suspendAudioInputFromFile:
 
(void) - setAec:
 
(void) - setAgc:
 

类方法

(JRTCMediaDevice *_Nullable) + create:callback:initParam:
 
(void) + destroy
 

属性

id< AudioInputFrameCallbackaudioInputFrameCallback
 
bool isAudioInputStart
 
bool isAudioOutputStart
 
bool cameraOpen
 
bool videoFileOpen
 
JRTCMediaDeviceCameracurrentCamera
 
NSArray< JRTCMediaDeviceCamera * > * cameras
 
JRTCMediaDeviceCameradefaultCamera
 
JRTCMediaDeviceAudioParamaudioParam
 
NSString * videoFileId
 
bool audioInterrupt
 
JRTCMediaDeviceVideoAngle videoAngle
 
bool useInternalAudioDeviceLogic
 
NSArray< JRTCMediaDeviceAudio * > * audioInputs
 
JRTCMediaDeviceAudioaudioInput
 
NSArray< JRTCMediaDeviceAudio * > * audioOutputs
 
JRTCMediaDeviceAudioaudioOutput
 
NSArray< JRTCMediaDeviceWindow * > * desktops
 
NSArray< JRTCMediaDeviceWindow * > * windows
 
JRTCMediaDeviceWindowscreenshareWindow
 
bool defaultSpeakerOn
 

详细描述

音视频设备管理

函数文档

◆ create:callback:initParam:

+ (JRTCMediaDevice *_Nullable) create: (JRTCClient *_Nonnull)  client
callback: (id< JRTCMediaDeviceCallback > _Nonnull)  callback
initParam: (JRTCMediaDeviceInitParam *_Nullable)  initParam 

创建 JRTCMediaDevice 对象

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

注解
参数
clientJRTCClient 对象
callbackJRTCMediaDeviceCallback 对象,用于回调相关通知
initParam预留参数,目前不生效
返回
JRTCMediaDevice 对象
异常
JRTCClient、JRTCMediaDeviceCallback 任意一个参数传空就会调用失败

◆ destroy

+ (void) destroy

销毁 JRTCMediaDevice 对象

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

◆ enableAudioInputFromFile:filePath:loop:

- (bool) enableAudioInputFromFile: (bool)  enable
filePath: (NSString *__nullable)  filePath
loop: (bool)  loop 

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

参数
enable开始或者结束
filePath音频文件路径,支持pcm,wav的格式(需要单声道,采样率16K音频文件)
loop是否循环播放
注解
重复调用会覆盖
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ enableScreenCapture:

- (bool) enableScreenCapture: (bool)  enable

开启/关闭屏幕采集

注解
仅支持应用内采集
参数
enable开启或关闭屏幕采集
  • true: 开启
  • false: 关闭
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ enableScreenCapture:appGroupId:preferredExtension:

- (bool) enableScreenCapture: (bool)  enable
appGroupId: (NSString *__nullable)  appGroupId
preferredExtension: (NSString *__nullable)  preferredExtension 

开启/关闭屏幕采集

注解
支持应用外采集,需要 iOS 12.0 及以上(不包含 iOS 13.0),需要集成屏幕采集插件, 调用此方法后成功,界面上会拉起屏幕采集插件,需手动点击"开始直播"按钮进行屏幕采集,
参数
enable是否开启
appGroupIdextension 和 app 所处于的同一个 groupId,如果是关闭可以传空
preferredExtension希望打开的 extension 的 ID,如果是关闭可以传空
返回
返回 true 表示开启/关闭屏幕共享成功,false 表示失败

◆ enableSpeaker:

- (void) enableSpeaker: (bool)  enable

开启/关闭扬声器,iOS 使用

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

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

◆ getAnrNoiseLevel

- (int) getAnrNoiseLevel

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

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

◆ getAnrNoiseRatio

- (int) getAnrNoiseRatio

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

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

◆ getAudioRouteType

- (JRTCMediaDeviceAudioRouteType) getAudioRouteType

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

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

◆ getMicLevel

- (int) getMicLevel

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

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

◆ getScreenCaptureId

- (NSString *__nullable) getScreenCaptureId

获得屏幕采集视频流ID

返回
屏幕采集视频流ID

◆ getScreenFramerate

- (int) getScreenFramerate

获得当前屏幕采集帧率

返回
屏幕采集帧率

◆ getSpkLevel

- (int) getSpkLevel

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

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

◆ isSpeakerOn

- (bool) isSpeakerOn

扬声器是否已打开,iOS 使用

  • true: 已打开
  • false: 未打开

◆ recoveryRecordFile:

- (bool) recoveryRecordFile: (NSString *_Nonnull)  fileDir

恢复录制文件

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

◆ resetScreenCaptureData

- (void) resetScreenCaptureData

重置屏幕采集数据

◆ setAec:

- (void) setAec: (bool)  aecOn

设置开启自适应回声消除

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

◆ setAgc:

- (void) setAgc: (bool)  agcOn

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

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

◆ setAudioInputFrameCallback:

- (void) setAudioInputFrameCallback: (id< AudioInputFrameCallback > _Nullable)  callback

设置音频输入帧回调

参数
callback原始音频数据输入回调代理对象

◆ setCameraProperty:height:framerate:

- (void) setCameraProperty: (int)  width
height: (int)  height
framerate: (int)  frameRate 

设置摄像头采集属性

在调用开始自身视频渲染前设置即可生效

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

◆ setScreenCaptureData:

- (void) setScreenCaptureData: (UIImage *__nonnull)  image

设置屏幕采集数据

参数
image替换图片

◆ setScreenCaptureProperty:height:framerate:

- (void) setScreenCaptureProperty: (int)  width
height: (int)  height
framerate: (int)  frameRate 

设置屏幕共享采集属性

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

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

◆ setVideoAngle:

- (void) setVideoAngle: (JRTCMediaDeviceVideoAngle angle

设置视频窗体角度

参数
angle视频旋转角度,详见 JRTCMediaDeviceVideoAngle

◆ setVideoCaptureFrameCallback:

- (void) setVideoCaptureFrameCallback: (id< VideoCaptureFrameCallback > _Nullable)  callback

设置视频采集帧数据回调

参数
callbackVideoCaptureFrameCallback 接口对象

◆ setVideoFileFrame:angle:mirror:

- (void) setVideoFileFrame: (CVPixelBufferRef __nonnull)  srcFrame
angle: (int)  angle
mirror: (int)  mirror 

向文件视频源逐帧添加视频数据

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

注解
当 format 为 H264 格式并且是关键帧时:
  • 第一帧一定要包含关键帧,并且需要将 0x67 0x68 0x65 的数据作为完整一帧传入,其中0x67,0x68为pps,0x65为关键帧标识
  • 后续P帧以 0x41 数据形式传入
  • 关键帧要以固定间隔传入,例如5秒,否则一开始可能有几秒对端无法显示视频
参数
srcFrameCVPixelBufferRef 视频数据
angle视频角度, 为 90 的倍数
mirror是否镜像,0 不镜像,1 镜像
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ setVideoFileFrame:format:width:height:angle:

- (bool) setVideoFileFrame: (NSData *__nonnull)  srcFrame
format: (JRTCMediaDeviceVideoPixelFormat format
width: (int)  width
height: (int)  height
angle: (int)  angle 

逐帧采集视频画面

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

注解
当 format 为 H264 格式并且是关键帧时:
  • 第一帧一定要包含关键帧,并且需要将 0x67 0x68 0x65 的数据作为完整一帧传入,其中0x67,0x68为pps,0x65为关键帧标识
  • 后续P帧以 0x41 数据形式传入
  • 关键帧要以固定间隔传入,例如5秒,否则一开始可能有几秒对端无法显示视频
参数
srcFrame画面二进制数据
format视频像素格式
width视频画面像素宽
height视频画面像素高
angle视频角度,为 90 的倍数
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ snapshotWithStreamId:path:

- (bool) snapshotWithStreamId: (NSString *__nonnull)  streamId
path: (NSString *__nonnull)  path 

截图

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

◆ specifyCamera:

- (void) specifyCamera: (JRTCMediaDeviceCamera *__nonnull)  camera

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

参数
camera摄像头对象

◆ specifyCameraAngle:

- (void) specifyCameraAngle: (int)  angle

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

参数
angle角度

◆ startAudio

- (bool) startAudio

启动音频

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

◆ startAudioInput

- (bool) startAudioInput

打开音频输入设备

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

◆ startAudioOutput

- (bool) startAudioOutput

打开音频输出设备

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

◆ startAudioRecord:audioSource:fileType:

- (bool) startAudioRecord: (NSString *_Nullable)  filePath
audioSource: (JRTCRecordAudioSource audioSource
fileType: (JRTCAudioRecordFileType fileType 

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

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

◆ startAudioTest:fileName:

- (bool) startAudioTest: (JRTCMediaDeviceTestType type
fileName: (NSString *__nullable)  fileName 

检测音频设备是否正常

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

◆ startCamera

- (bool) startCamera

开启摄像头

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

◆ startCameraVideo:

- (JRTCMediaDeviceVideoCanvas *__nullable) startCameraVideo: (JRTCMediaDeviceRender renderType

开始本端视频渲染

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

注解
调用此方法时需要保证默认摄像头不为空,即 defaultCamera 不为空,否则将直接返回 nil
参数
renderType渲染模式:
返回

◆ startCameraVideo:view:

- (JRTCMediaDeviceVideoCanvas *__nullable) startCameraVideo: (JRTCMediaDeviceRender type
view: (UIView *__nonnull)  view 

开始自身视频渲染

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

注解
调用此方法时需要保证默认摄像头不为空,即 defaultCamera 不为空,否则将直接返回 nil
参数
type渲染模式:
view渲染视图控件
返回

◆ startRing:isLoop:

- (bool) startRing: (NSString *_Nonnull)  filePath
isLoop: (bool)  isLoop 

开始播放音频

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

◆ startVideo:renderType:

- (JRTCMediaDeviceVideoCanvas *__nullable) startVideo: (NSString *__nonnull)  streamId
renderType: (JRTCMediaDeviceRender type 

开始其他端的视频渲染

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

参数
streamId视频流ID
type渲染模式:
返回

◆ startVideo:renderType:view:

- (JRTCMediaDeviceVideoCanvas *__nullable) startVideo: (NSString *__nonnull)  streamId
renderType: (JRTCMediaDeviceRender type
view: (UIView *__nonnull)  view 

开始其他端的视频渲染

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

参数
streamId视频流ID
type渲染模式:
view渲染视图控件
返回

◆ startVideoCaptureRecord:recordParam:

- (bool) startVideoCaptureRecord: (NSString *_Nonnull)  streamId
recordParam: (JRTCRecordVideoCaptureParam *_Nonnull)  recordParam 

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

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

◆ startVideoCaptureRecord:streamId:audioSource:fileType:width:height:

- (bool) startVideoCaptureRecord: (NSString *_Nonnull)  filePath
streamId: (NSString *_Nonnull)  streamId
audioSource: (JRTCRecordAudioSource audioSource
fileType: (JRTCVideoRecordFileType fileType
width: (int)  width
height: (int)  height 

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

参数
filePath存储路径
streamId视频流ID, (包括摄像头ID、文件视频源ID、屏幕ID等)
audioSource录制文件音频源
fileType文件类型
width视频画面像素宽
height视频画面像素高
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ startVideoFile

- (bool) startVideoFile

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

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

◆ stopAllVideos

- (void) stopAllVideos

停止所有视频渲染

◆ stopAudio

- (bool) stopAudio

停止音频

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

◆ stopAudioInput

- (bool) stopAudioInput

关闭音频输入设备

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

◆ stopAudioOutput

- (bool) stopAudioOutput

关闭音频输出设备

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

◆ stopAudioRecord

- (bool) stopAudioRecord

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

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

◆ stopAudioTest:

- (bool) stopAudioTest: (JRTCMediaDeviceTestType type

停止检测音频设备

警告
开启某项音频设备检测完成后,需停止对应的测试,避免影响后续的音频设备使用。
参数
type音频设备类型,JRTCMediaDeviceTestType
返回
接口调用结果
  • true: 接口调用成功
  • false: 接口调用异常

◆ stopCamera

- (bool) stopCamera

关闭摄像头

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

◆ stopRing

- (bool) stopRing

结束播放音频

会收到 onRingPlayFinish 回调通知

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

◆ stopVideo:

- (void) stopVideo: (JRTCMediaDeviceVideoCanvas *__nonnull)  canvas

停止视频渲染

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

◆ stopVideoCaptureRecord:

- (bool) stopVideoCaptureRecord: (NSString *_Nonnull)  streamId

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

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

◆ stopVideoFile

- (bool) stopVideoFile

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

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

◆ suspendAudioInputFromFile:

- (bool) suspendAudioInputFromFile: (bool)  suspend

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

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

◆ switchCamera

- (bool) switchCamera

切换摄像头

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

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

◆ switchCamera:

- (bool) switchCamera: (JRTCMediaDeviceCamera *__nonnull)  camera

切换到指定摄像头

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

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

属性说明

◆ audioInput

- (JRTCMediaDeviceAudio*) audioInput
readwritenonatomicstrong

当前音频输入设备,mac 使用

◆ audioInputFrameCallback

- (id<AudioInputFrameCallback>) audioInputFrameCallback
readwritenonatomicassign

原始音频数据输入回调代理对象

◆ audioInputs

- (NSArray<JRTCMediaDeviceAudio*>*) audioInputs
readnonatomicassign

音频输入设备列表,mac 使用

◆ audioInterrupt

- (bool) audioInterrupt
readnonatomicassign

是否声音被中断

◆ audioOutput

- (JRTCMediaDeviceAudio*) audioOutput
readwritenonatomicstrong

当前音频输出设备,mac 使用

◆ audioOutputs

- (NSArray<JRTCMediaDeviceAudio*>*) audioOutputs
readnonatomicassign

音频输出设备列表,mac 使用

◆ audioParam

- (JRTCMediaDeviceAudioParam*) audioParam
readwritenonatomicstrong

音频参数

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

◆ cameraOpen

- (bool) cameraOpen
readnonatomicassign

摄像头是否打开

◆ cameras

- (NSArray<JRTCMediaDeviceCamera*>*) cameras
readnonatomicassign

摄像头列表

◆ currentCamera

- (JRTCMediaDeviceCamera*) currentCamera
readnonatomicassign

当前摄像头

◆ defaultCamera

- (JRTCMediaDeviceCamera*) defaultCamera
readwritenonatomicassign

默认摄像头

◆ defaultSpeakerOn

- (bool) defaultSpeakerOn
readwritenonatomicassign

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

  • true: 默认开启
  • false: 默认不开启

◆ desktops

- (NSArray<JRTCMediaDeviceWindow*>*) desktops
readnonatomicassign

桌面列表,mac 使用

◆ isAudioInputStart

- (bool) isAudioInputStart
readnonatomicassign

音频输入设备是否打开

◆ isAudioOutputStart

- (bool) isAudioOutputStart
readnonatomicassign

音频输出设备是否打开

◆ screenshareWindow

- (JRTCMediaDeviceWindow*) screenshareWindow
readwritenonatomicstrong

屏幕共享的窗口,mac 使用

◆ useInternalAudioDeviceLogic

- (bool) useInternalAudioDeviceLogic
readwritenonatomicassign

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

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

◆ videoAngle

- (JRTCMediaDeviceVideoAngle) videoAngle
readwritenonatomicassign

视频窗体角度

◆ videoFileId

- (NSString*) videoFileId
readnonatomicstrong

视频文件作为本地视频源的视频流ID

◆ videoFileOpen

- (bool) videoFileOpen
readnonatomicassign

文件播放是否打开

◆ windows

- (NSArray<JRTCMediaDeviceWindow*>*) windows
readnonatomicassign

窗口列表,mac 使用