JRTCSDK-iOS
v1.1
API文档
|
设备模块 更多...
类方法 | |
(JCMediaDevice *__nullable) | + create:callback: |
(void) | + destroy |
属性 | |
id< AudioInputCallback > | audioInputCallback |
id< AudioOutputCallback > | audioOutputCallback |
bool | isAudioInputStart |
bool | isAudioOutputStart |
bool | cameraOpen |
bool | videoFileOpen |
JCMediaDeviceCamera * | currentCamera |
NSArray< JCMediaDeviceCamera * > * | cameras |
JCMediaDeviceCamera * | defaultCamera |
JCMediaDeviceAudioParam * | audioParam |
NSString * | videoFileId |
bool | audioInterrupt |
JCMediaDeviceVideoAngle | videoAngle |
bool | aec |
bool | useInternalAudioDeviceLogic |
NSArray< JCMediaDeviceAudio * > * | audioInputs |
JCMediaDeviceAudio * | audioInput |
NSArray< JCMediaDeviceAudio * > * | audioOutputs |
JCMediaDeviceAudio * | audioOutput |
NSArray< JCMediaDeviceWindow * > * | desktops |
NSArray< JCMediaDeviceWindow * > * | windows |
JCMediaDeviceWindow * | screenshareWindow |
bool | defaultSpeakerOn |
设备模块
+ (JCMediaDevice* __nullable) create: | (JCClient *__nonnull) | client | |
callback: | (id< JCMediaDeviceCallback > __nonnull) | callback | |
创建 JCMediaDevice 对象
JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
client | JCClient 对象 |
callback | JCMediaDeviceCallback 对象,用于回调相关通知 |
JCClient、JCMediaDeviceCallback 任意一个参数传空就会调用失败 |
- "该属性即将废弃,请用stopRing: |
停止播放音频文件
+ (void) destroy |
销毁 JCMediaDevice 对象
- (bool) enableScreenCapture: | (bool) | enable |
开启/关闭屏幕采集
enable | 开启或关闭屏幕采集
|
- (void) enableSpeaker: | (bool) | enable |
开启/关闭扬声器,iOS 使用
只有在音频已经启动的情况下调用才会生效
enable | 开启或关闭扬声器
|
- (NSString* __nullable) getAudioOutputType |
获得当前音频模式,获得当前音频输出类型,如扬声器、听筒、耳机、蓝牙等
- (int) getMicLevel |
获取当前本地音量级别,录制音量级别范围为 0 到 100
目前只在开始麦克风检测,或者当会议上有音频时,才能获取到有效的录制音量级别。
- (NSString* __nullable) getScreenCaptureId |
获得屏幕采集视频流ID
- (int) getScreenFramerate |
获得当前屏幕采集帧率
- (int) getSpkLevel |
获取当前扬声器音量级别,播放音量级别范围为 0 到 100
目前只在开始扬声器检测,或者当会议上有人讲话时,才能获取到有效的录制音量级别。
- (bool) isSpeakerOn |
扬声器是否已打开,iOS 使用
- (bool) ringPlay: | ("该属性即将废弃,请用startRing:isLoop:代替") | DEPRECATED_MSG_ATTRIBUTE |
播放音频文件
path | 文件路径 |
- (void) setAudioInputCallback: | (id< AudioInputCallback > _Nullable) | callback |
设置音频输入帧回调
callback | 原始音频数据输入回调代理对象 |
- (void) setAudioOutputCallback: | (id< AudioOutputCallback > _Nullable) | callback |
设置音频输出帧回调
callback | 原始音频数据输出回调代理对象 |
- (void) setCameraProperty: | (int) | width | |
height: | (int) | height | |
framerate: | (int) | framerate | |
设置摄像头采集属性
在调用开始自身视频渲染前设置即可生效
width | 采集宽度,默认为 640 |
height | 采集高度,默认为 360 |
framerate | 采集帧速率,默认为 30 |
- (void) setScreenCaptureProperty: | (int) | width | |
height: | (int) | height | |
framerate: | (int) | framerate | |
设置屏幕共享采集属性
在调用开启屏幕共享前设置即可生效
width | 采集宽度,默认1280 |
height | 采集高度,默认720 |
frameRate | 采集帧速率,默认10 |
- (void) setVideoAngle: | (JCMediaDeviceVideoAngle) | angle |
设置视频窗体角度
angle | 视频旋转角度,详见 JCMediaDeviceVideoAngle |
- (void) setVideoFileFrame: | (CVPixelBufferRef __nonnull) | srcFrame | |
angle: | (int) | angle | |
mirror: | (int) | mirror | |
向文件视频源逐帧添加视频数据
调用此方法时要保证文件视频源已开启
srcFrame | CVPixelBufferRef 视频数据 |
angle | 视频角度, 为 90 的倍数 |
mirror | 是否镜像,0 不镜像,1 镜像 |
- (bool) setVideoFileFrame: | (NSData *__nonnull) | srcFrame | |
format: | (JCMediaDeviceVideoPixelFormat) | format | |
width: | (int) | width | |
height: | (int) | height | |
angle: | (int) | angle | |
逐帧采集视频画面
调用此方法时要保证文件视频源已开启
srcFrame | 画面二进制数据 |
format | 视频像素格式 |
width | 视频画面像素宽 |
height | 视频画面像素高 |
angle | 视频角度,为 90 的倍数 |
- (bool) snapshotWithRenderId: | (NSString *__nonnull) | renderId | |
path: | (NSString *__nonnull) | path | |
截图
renderId | 要截图的视频流ID |
path | 要存放截图的文件路径 |
- (void) specifyCamera: | (JCMediaDeviceCamera *__nonnull) | camera |
指定要开启的摄像头,在 startCamera 之前调用
camera | 摄像头对象 |
- (void) specifyCameraAngle: | (int) | angle |
指定摄像头采集角度,为90的倍数
angle | 角度 |
- (bool) startAudio |
启动音频
- (bool) startAudioInput |
打开音频输入设备
- (bool) startAudioOutput |
打开音频输出设备
- (bool) startAudioRecord: | (NSString *_Nullable) | filePath | |
fileType: | (JCAudioCaptureRecordFileType) | fileType | |
开启音频录制(本地录制,不需要建立通信,不能和视频同时录制)
filePath | 存储路径 |
fileType | 文件类型,必须包含文件名(xxx.wav或者pcm) |
- (bool) startAudioTest: | (JCMediaDeviceTestType) | type | |
fileName: | (NSString *__nullable) | fileName | |
检测音频设备是否正常
type | 音频设备类型,JCMediaDeviceTestType |
fileName | 测试扬声器时播放的文件路径,测试麦克风是传 nil 即可 |
- (bool) startCamera |
开启摄像头
- (JCMediaDeviceVideoCanvas* __nullable) startCameraVideo: | (JCMediaDeviceRender) | type |
开始自身视频渲染
获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
type | 渲染模式:
|
- (JCMediaDeviceVideoCanvas* __nullable) startCameraVideo: | (JCMediaDeviceRender) | type | |
view: | (UIView *__nonnull) | view | |
开始自身视频渲染
获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
type | 渲染模式:
|
view | 渲染视图控件 |
- (bool) startRing: | (NSString *_Nonnull) | filePath | |
isLoop: | (bool) | isLoop | |
开始播放音频
filePath | 音频文件路径 |
isLoop | 是否循环播放 |
- (JCMediaDeviceVideoCanvas* __nullable) startVideo: | (NSString *__nonnull) | renderId | |
renderType: | (JCMediaDeviceRender) | type | |
开始其他端的视频渲染
获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
renderId | 视频流ID |
type | 渲染模式:
|
- (JCMediaDeviceVideoCanvas* __nullable) startVideo: | (NSString *__nonnull) | renderId | |
renderType: | (JCMediaDeviceRender) | type | |
view: | (UIView *__nonnull) | view | |
开始其他端的视频渲染
获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
renderId | 视频流ID |
type | 渲染模式:
|
view | 渲染视图控件 |
- (bool) startVideoCaptureRecord: | (NSString *_Nonnull) | filePath | |
captureId: | (NSString *_Nonnull) | captureId | |
fileType: | (JCVideoCaptureRecordFileType) | fileType | |
width: | (int) | width | |
height: | (int) | height | |
开启视频录制(本地录制,不需要建立通信)
filePath | 存储路径 |
captureId | 采集视频流ID,可以传摄像头采集视频流ID或屏幕采集视频流ID |
fileType | 文件类型 |
width | 视频画面像素宽 |
height | 视频画面像素高 |
- (bool) startVideoFile |
开启视频文件作为视频输入源
- (bool) stopAudio |
停止音频
- (bool) stopAudioInput |
关闭音频输入设备
- (bool) stopAudioOutput |
关闭音频输出设备
- (bool) stopAudioRecord |
停止音频录制(本地录制,不需要建立通信)
- (bool) stopAudioTest: | (JCMediaDeviceTestType) | type |
停止检测音频设备
type | 音频设备类型,JCMediaDeviceTestType |
- (bool) stopCamera |
关闭摄像头
- (bool) stopRing |
结束播放音频
- (void) stopVideo: | (JCMediaDeviceVideoCanvas *__nonnull) | canvas |
停止视频渲染
canvas | JCMediaDeviceVideoCanvas 对象,由 startVideo 或 startCameraVideo 接口返回 |
- (bool) stopVideoCaptureRecord: | (NSString *_Nonnull) | captureId |
关闭视频录制(本地录制,不需要建立通信,不能和音频同时录制)
captureId | 采集视频流ID (包括摄像头id、文件视频源渲染id、屏幕共享采集id等) |
- (bool) stopVideoFile |
关闭视频文件作为视频输入源
- (bool) switchCamera |
切换摄像头
内部会根据当前摄像头类型来进行切换
- (bool) switchCamera: | (JCMediaDeviceCamera *__nonnull) | camera |
切换到指定摄像头
调用此方法时需要保证摄像头已打开并且摄像头数大于0,否则将直接返回 false
camera | 摄像头对象 |
|
readwritenonatomicassign |
是否开启回声消除,默认开启
|
readwritenonatomicstrong |
当前音频输入设备,mac 使用
|
readwritenonatomicassign |
原始音频数据输入回调代理对象
|
readnonatomicassign |
音频输入设备列表,mac 使用
|
readnonatomicassign |
是否声音被中断
|
readwritenonatomicstrong |
当前音频输出设备,mac 使用
|
readwritenonatomicassign |
原始音频数据输出回调代理对象
|
readnonatomicassign |
音频输出设备列表,mac 使用
|
readwritenonatomicstrong |
音频参数
需要在调用 startAudio 方法前设置,即连接通话或加入频道前设置此参数。若不设置此参数,将使用默认值。
|
readnonatomicassign |
摄像头是否打开
|
readnonatomicassign |
摄像头列表
|
readnonatomicassign |
当前摄像头
|
readwritenonatomicassign |
默认摄像头
|
readwritenonatomicassign |
没有插入耳机或外接蓝牙时是否默认开启扬声器,默认关闭,iOS 使用
|
readnonatomicassign |
桌面列表,mac 使用
|
readnonatomicassign |
音频输入设备是否打开
|
readnonatomicassign |
音频输出设备是否打开
|
readwritenonatomicstrong |
屏幕共享的窗口,mac 使用
|
readwritenonatomicassign |
是否使用内部音频设备逻辑
1.打开扬声器 -> 使用扬声器输出声音 2.连上蓝牙耳机 -> 使用蓝牙耳机输出声音,如果扬声器开着则关闭扬声器 3.插入耳机 -> 使用耳机输出声音,如果扬声器开着则关闭扬声器 4.蓝牙耳机和有线耳机以最后连上的作为输出 5.关闭扬声器 -> (蓝牙耳机|有线耳机) > 听筒
|
readwritenonatomicassign |
视频角度
|
readnonatomicstrong |
视频文件作为本地视频源的视频流ID
|
readnonatomicassign |
文件播放是否打开
|
readnonatomicassign |
窗口列表,mac 使用