#include <JCMediaChannel.h>
类方法 | |
(JCMediaChannel *__nullable) | + create:mediaDevice:callback: |
(void) | + destroy |
属性 | |
NSString *__nullable | channelUri |
NSString *__nullable | channelId |
int | channelNumber |
long | confId |
NSString *__nullable | sessionId |
NSString *__nonnull | password |
JCMediaChannelState | state |
NSArray *__nonnull | participants |
bool | uploadLocalAudio |
bool | uploadLocalVideo |
bool | audioOutput |
NSString *__nullable | screenRenderId |
NSString *__nullable | screenUserId |
NSString *__nullable | title |
JCMediaChannelRecordState | recordState |
JCMediaChannelCdnState | cdnState |
JCMediaChannelParticipant *__nullable | selfParticipant |
bool | volumeChangeNotify |
JCMediaChannelMaxResolution | maxResolution |
详细描述
多方通话模块,类似音视频房间的概念,可以通过频道号 channelId 加入频道进行音视频通话
函数文档
◆ create:mediaDevice:callback:
+ (JCMediaChannel *__nullable) create: | (JCClient *__nonnull) | client | |
mediaDevice: | (JCMediaDevice *__nonnull) | mediaDevice | |
callback: | (id< JCMediaChannelCallback > __nonnull) | callback | |
创建 JCMediaChannel 对象
JCMediaChannel 的所有接口函数,如无特殊说明,都建议在主线程调用
- 注解
- 调用此方法创建 JCMediaChannel 对象后,期间没有调用过
destroy
方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCMediaChannel 对象 - 调用此方法前确保 JCClient 已完成初始化,即 state 方法获取的状态值不等于 JCClientStateNotInit
- 调用此方法创建 JCMediaChannel 对象后,期间没有调用过
- 参数
-
client JCClient 对象 mediaDevice JCMediaDevice 对象 callback JCMediaChannelCallback 对象,用于回调相关通知
- 返回
- JCMediaChannel 对象
- 异常
-
JCClient、JCMediaDevice、JCMediaChannelCallback 任意一个参数传空就会出现调用失败
◆ destroy
+ (void) destroy |
销毁 JCMediaChannel 对象
该方法为同步调用,需要等待 JCMediaChannel 实例资源释放后才能执行其他操作,调用此方法后,你将无法再使用 JCMediaChannel 的其它方法和回调。
我们 不建议 在 JCSDK 的回调中调用此方法销毁 JCMediaChannel 对象,否则会出现崩溃。
如需在销毁后再次创建 JCMediaChannel 实例,需要等待 destroy 方法执行结束后再创建实例。
◆ enableAudioOutput:
- (bool) enableAudioOutput: | (bool) | enable |
开启/关闭远端音频输出
该方法可实现本地静音功能。关闭时听不到频道内其他成员的声音,不影响其他成员;开启时可以听到其他成员声音
初始化 JCMediaChannel 时,音频输出功能默认是开启的。若要加入频道时听不见其他成员的声音,建议在调用 join
加入频道前设置
该方法可以关闭或重新开启音频输出功能,在频道内和频道外均可调用,且在离开频道后该设置仍然有效,也就是说这一次设置了关闭音频输出,那么下一次加入频道时也是默认关闭音频输出
- 参数
-
enable 是否开启音频输出 - true: 开启
- false: 关闭
- 返回
- 调用是否正常
- true:正常执行调用流程
- 在调用此方法时,用户的频道状态不是已加入状态,则不会收到回调通知
- 在调用此方法时,用户的频道状态是已加入状态,则会收到
onMediaChannelPropertyChange
通知
- false:调用失败,不会收到回调通知
- true:正常执行调用流程
◆ enableCdn:keyInterval:
- (bool) enableCdn: | (bool) | enable | |
keyInterval: | (int) | keyInterval | |
开启/关闭Cdn推流
在收到 onMediaChannelPropertyChange
回调后检查是否开启
- 参数
-
enable 开启/关闭Cdn推流 - true: 开启 Cdn 推流
- false: 关闭 Cdn 推流
keyInterval 推流关键帧间隔(毫秒),当参数 enable 为 true 时有效,有效值需要>=1000
- 返回
- 调用是否正常
- true:正常执行调用流程,会收到
onMediaChannelPropertyChange
通知 - false:调用失败,不会收到通知回调
- true:正常执行调用流程,会收到
◆ enableRecord:recordParam:
- (bool) enableRecord: | (bool) | enable | |
recordParam: | (JCMediaChannelRecordParam *__nullable) | recordParam | |
开启/关闭视频录制
- 参数
-
enable 开启/关闭视频录制 - true: 开启视频录制
- false: 关闭视频录制
recordParam JCMediaChannelRecordParam 录制参数对象,当参数 enable 为 true 时,可以更改由 join
时传入的录制参数,不需更改则填 nil
- 返回
- 调用是否正常
- true:正常执行调用流程,会收到
onMediaChannelPropertyChange
通知 - false:调用失败,不会收到通知回调
- true:正常执行调用流程,会收到
◆ enableScreenShare:appGroupId:preferredExtension:
- (bool) enableScreenShare: | (bool) | enable | |
appGroupId: | (NSString *) | appGroupId | |
preferredExtension: | (NSString *) | preferredExtension | |
开启/关闭屏幕共享 全局屏幕共享
- 注解
- 如果
setUseExternalScreenCaptureControl
为 true, 则该接口只负责信令通知,请确保开启屏幕共享前,已经开启了屏幕采集,否则远端用户收到屏幕共享画面为黑屏 iOS 12.0 及以下(包含 iOS13.0)只支持应用内共享,iOS 12.0 及以上(不包含 iOS 13.0)支持应用外共享,需要集成屏幕采集插件 调用此方法后成功,界面上会拉起屏幕采集插件,需手动点击"开始直播"按钮进行屏幕共享,开启成功后,房间中的所有成员会收到JCMediaChannelCallback.onMediaChannelPropertyChange:
类型为回调。
- 参数
-
enable 开启或关闭屏幕共享 - true: 开启屏幕共享
- false: 关闭屏幕共享
appGroupId 屏幕采集插件和应用所处于的同一个 groupId,如果是关闭屏幕共享可以传空,iOS 12.0 及以上(不包含 iOS 13.0 )需要传,iOS 12.0 以下传空 preferredExtension 要打开的屏幕共享插件的 ID,如果是关闭屏幕共享可以传空,iOS 12.0 及以上(不包含 iOS 13.0 )需要传,iOS 12.0 以下传空
- 返回
- 接口调用结果
- true: 接口调用成功
- false: 接口调用异常
◆ enableScreenShare:screenShareParam:
- (bool) enableScreenShare: | (bool) | enable | |
screenShareParam: | (JCMediaChannelScreenShareParam *__nullable) | screenShareParam | |
开启/关闭屏幕分享 app内屏幕共享
在频道中时调用此方法才有效
- 参数
-
enable 开启/关闭屏幕分享 - true: 开启屏幕分享
- false: 关闭屏幕分享
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ enableSelfVideoRatio:ratio:
- (void) enableSelfVideoRatio: | (bool) | enable | |
ratio: | (float) | ratio | |
设置自身视频宽高比
- 注解
- 必须加入频道后设置才能生效
- 参数
-
enable 是否开启自身视频宽高比 - true: 开启
- false: 关闭
ratio 视频宽高比
◆ enableUploadAudioStream:
- (bool) enableUploadAudioStream: | (bool) | enable |
开启/关闭发送本地音频流
调用该方法可开启或关闭发送本地音频流。开启后,频道成员将听见本端声音;关闭后,频道成员将听不见本端声音
初始化 JCMediaChannel 时,默认不发送本地音频流。若要加入频道时,让频道内其他成员听见本端声音,需要在调用 join
加入频道前设置
该方法在频道内和频道外均可调用,且在离开频道后该设置仍然有效。也就是说这一次设置了开启发送本地音频流,那么在下一次加入频道时默认会开启发送本地音频流
会议中也可调用此方法开启或关闭发送本地音频流,服务器会更新状态并同步给其他频道成员
会议中调用此方法不影响接收远端音频
- 参数
-
enable 开启/关闭发送本地音频流 - true: 开启,即发送本地音频流
- false: 关闭,即不发送本地音频流
- 返回
- 调用是否正常
- true: 正常执行调用流程
- 在调用此方法时,用户不在频道中,则不会收到回调通知
- 在调用此方法时,用户在频道中,则会收到
onMediaChannelPropertyChange
通知
- false: 调用失败,不会收到回调通知
- true: 正常执行调用流程
◆ enableUploadVideoStream:
- (bool) enableUploadVideoStream: | (bool) | enable |
开启/关闭发送本地视频流
调用该方法可开启或关闭发送本地视频流。开启后,频道成员将可以看见本端视频画面;关闭后,频道成员将看不见本端视频画面
初始化 JCMediaChannel 时,默认发送本地视频流。若要加入频道时,让频道内其他成员看见本端视频画面,建议在调用 join
加入频道前设置
该方法在频道内和频道外均可调用,且在离开频道后该设置仍然有效。也就是说这一次设置了关闭发送本地视频流,那么在下一次加入频道时默认会关闭发送本地视频流
会议中也可调用此方法开启或关闭发送本地视频流,服务器会更新状态并同步给其他频道成员
会议中调用此方法不影响接收远端视频
- 参数
-
enable 是否发送本地视频流 - true: 开启,即发送本地视频流
- false: 关闭,即不发送本地视频流
- 返回
- 调用是否正常
- true:正常执行调用流程
- 在调用此方法时,用户不在频道中,则不会收到回调通知
- 在调用此方法时,用户在频道中,则会收到
onMediaChannelPropertyChange
通知
- false:调用失败,不会收到回调通知
- true:正常执行调用流程
◆ getCustomProperty
- (NSString *__nullable) getCustomProperty |
获取自定义频道属性
调用此接口来获取频道自定义属性
- 返回
- 自定义属性
◆ getCustomRole
- (JCMediaChannelCustomRole) getCustomRole |
获得自定义角色
- 返回
- 自定义角色
◆ getCustomState
- (JCMediaChannelCustomState) getCustomState |
获得自定义状态
- 返回
- 自定义状态
◆ getParticipant:
- (JCMediaChannelParticipant *__nullable) getParticipant: | (NSString *__nonnull) | userId |
◆ getStatistics
- (NSString *__nullable) getStatistics |
获取统计信息
以Json字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点
- 返回
- 统计信息
◆ inviteSipUser:sipParam:
- (int) inviteSipUser: | (NSString *__nonnull) | userId | |
sipParam: | (JCMediaChannelSipParam *__nonnull) | sipParam | |
邀请Sip用户
一般用于对接落地网关等,结果通过 onInviteSipUserResult
通知
- 参数
-
userId 一般为号码 sipParam JCMediaChannelSipParam 参数对象
- 返回
- 调用是否正常
- > 0:操作id,结果通过
onInviteSipUserResult
通知 - -1:失败,不会收到回调通知
- > 0:操作id,结果通过
◆ join:joinParam:
- (bool) join: | (NSString *__nonnull) | channelId | |
joinParam: | (JCMediaChannelJoinParam *__nullable) | joinParam | |
加入频道
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话
如果已在频道中,用户必须退出当前频道,即处于空闲状态,才能进入下一个频道,否则将直接返回 false
- 参数
-
channelId 多方通话标识 joinParam JCMediaChannelJoinParam 对象,没有则填 nil
- 返回
- 调用是否正常
- true: 正常执行调用流程
- false: 调用失败
- 在调用此方法时,用户的频道状态不是空闲状态,则不会收到回调通知
- 在调用此方法时,用户的频道是空闲状态,则会收到
onJoin
方法通知
◆ kick:
- (BOOL) kick: | (JCMediaChannelParticipant *__nonnull) | participant |
将成员踢出频道
- 参数
-
participant 成员
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ leave
- (bool) leave |
◆ query:
- (int) query: | (NSString *__nonnull) | channelId |
◆ requestScreenVideo:pictureSize:
- (bool) requestScreenVideo: | (NSString *__nonnull) | screenUri | |
pictureSize: | (JCMediaChannelPictureSize) | pictureSize | |
请求频道成员屏幕共享的视频流
当 pictureSize 为 JCMediaChannelPictureSizeNone 表示关闭请求
- 参数
-
screenUri 屏幕分享uri pictureSize 视频请求尺寸类型,参见:
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ requestVideo:pictureSize:
- (bool) requestVideo: | (JCMediaChannelParticipant *__nonnull) | participant | |
pictureSize: | (JCMediaChannelPictureSize) | pictureSize | |
请求频道中其他用户的视频流
当 pictureSize 为 JCMediaChannelPictureSizeNone 时表示关闭请求
- 参数
-
participant JCMediaChannelParticipant 频道中其他成员对象 pictureSize 视频请求的尺寸类型:
- 返回
- 调用是否正常
- true:正常执行调用流程,会收到
onParticipantUpdate
通知 - false:调用失败,不会收到回调通知
- true:正常执行调用流程,会收到
◆ sendCommand:commandParam:
- (bool) sendCommand: | (NSString *__nonnull) | name | |
commandParam: | (NSString *__nonnull) | param | |
发送指令
- 指令名: StartForward 指令作用:请求服务器开始转发音视频
参数格式:{"MtcConfUserUriKey": "用户Uri", "MtcConfMediaOptionKey": "类型"}
用户Uri: 通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId)
类型: 服务器转发分三种 音频、视频、音视频,具体可参考底层mtc_conf.h下的MtcConfMedia的枚举值。
注意1:指令发送成功后会收到onParticipantUpdate
回调
举例: {"MtcConfUserUriKey": "[username:justin@sample.cloud.justalk.com]", "MtcConfMediaOptionKey": 3}
- 指令名: StopForward 指令作用:请求服务器停止转发音视频
参数格式:{"MtcConfUserUriKey": "用户URL", "MtcConfMediaOptionKey": "类型"}
用户Uri: 通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId)
类型: 服务器转发分三种 音频、视频、音视频,具体可参考底层mtc_conf.h下的MtcConfMedia的枚举值。
注意1:指令发送成功后会收到onParticipantUpdate
回调
举例: {"MtcConfUserUriKey": "[username:justin@sample.cloud.justalk.com]", "MtcConfMediaOptionKey": 3}
- 指令名: ChangeTitle 指令作用:请求修改会议主题
参数格式: {"MtcConfTitleKey":"修改的内容"}
修改的内容: 比如原来主题设置的是"123",现在改为"321"。
注意1:指令发送成功后会收到onMediaChannelPropertyChange
回调
注意2:可通过 JCManager.shared.mediaChannel.title 获取主题
举例:{"MtcConfTitleKey": "321"}
- 指令名: SetPartpProp 指令作用:批量修改成员状态,角色,昵称。
参数格式: {"MtcConfStateKey":1,"MtcConfDisplayNameKey":"1314","MtcConfPartpLstKey":["[username:10086@sample.cloud.justalk.com]"],"MtcConfRoleKey":7}
要修改的成员状态: 具体可参考底层 mtc_conf.h 下的 MtcConfState 的枚举值
要修改的成员角色: 具体可参考底层 mtc_conf.h 下的 MtcConfRole 的枚举值
要修改的成员昵称: 比如"123"
用户Uri:通过调用底层Mtc接口获取 MtcUser.Mtc_UserFormUri(EN_MTC_USER_ID_USERNAME, userId);
注意1:指令发送成功后会收到onParticipantUpdate
回调
注意2:MtcConfStateKey、MtcConfDisplayNameKey、MtcConfRoleKey这三个字段,可根据用户想修改哪个值,就在json字符串里面加入哪个。
注意3:MtcConfPartpLstKey 可包含多个用户uri进行批量修改
举例:{"MtcConfStateKey":4,"MtcConfDisplayNameKey":"123","MtcConfPartpLstKey":{"MtcConfUserUriKey":"[username:10086@sample.cloud.justalk.com]","MtcConfStateKey":4},"MtcConfRoleKey":4}
- 指令名:ReplayApplyMode 指令作用:设置推流布局模式
指令参数格式:{"MtcConfCompositeModeKey": 参数值}
参数值:
1 平铺模式,所有视频均分平铺
2 讲台模式,共享为大图,其他视频为小图
3 演讲模式,共享为大图,共享者视频为小图,其他不显示
4 自定义模式,由ReplayApplyLayout指令设置所有视频布局
5 智能模式。
举例:输入指令参数{"MtcConfCompositeModeKey": 2}就是讲台模式<br>
- 指令名:ReplayApplyLayout 指令作用:为多用户设置自定义推流布局
指令参数格式:{[{"MtcConfUserUriKey": "用户uri", "MtcConfPictureSizeKey": 视频尺寸,"MtcConfRectangleKey": 图像矩形的具体方位和长宽}],...}
用户uri:通过调用底层Mtc接口获取MtcUser.Mtc_UserFormUri((uint)EN_MTC_USER_ID_TYPE.EN_MTC_USER_ID_USERNAME,userId)
视频尺寸:一共5个枚举值,具体枚举值请参考底层mtc_conf.h下的MtcConfPs枚举
图像矩形的具体方位和长宽:这是一个Json格式的Array对象表示这个图像的位置和大小,第一个值是图像左上角的x坐标(0~1)
第二个值是图像左上角的y坐标(0~1)。第三个值是图像的宽(0~1)。第四个值是图像的高(0~1)。比如[0.5,0.5,0.5,0.5]表示图像在右下角长宽是原始屏幕的一半
举例:
[{"MtcConfUserUriKey":"[username:zhang@xxxx.cloud.justalk.com]","MtcConfPictureSizeKey":512,"MtcConfRectangleKey":[0.5,0.5,0.5,0.5]}]
表示成员zhang小尺寸的视频在屏幕右下角位置,长宽是原始屏幕的一半
- 参数
-
name 指令名 param 指令参数
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ sendCommandToDelivery:
- (bool) sendCommandToDelivery: | (NSString *__nonnull) | command |
发送命令给推流或录制器
发送命令给推流时,只有加入成功并且推流状态为 JCMediaChannelCdnStateReady 才生效
发送命令给录制器时,只有加入成功并且录制状态为 JCMediaChannelRecordStateReady 才生效
- 参数
-
command 命令字符串
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ sendMessage:content:toUserId:
- (bool) sendMessage: | (NSString *__nonnull) | type | |
content: | (NSString *__nonnull) | content | |
toUserId: | (NSString *__nullable) | toUserId | |
发送消息
此接口调用成功后,消息接收方会收到 onMessageReceive 回调,通过此回调可以获取消息的文本类型和文本内容
- 注解
- 当参数content大于4K时消息的发送不可靠,为确保消息发送的可靠性可以对消息内容进行压缩。
- 参数
-
type 消息类型 content 消息内容,content不能为空,content不能大于 4k toUserId 接收者id,null则发给频道所有人员
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ setCustomProperty:
- (bool) setCustomProperty: | (NSString *__nonnull) | property |
设置频道自定义属性
调用此接口来设置频道自定义属性
- 参数
-
property 自定义属性
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
◆ setCustomRole:participant:
- (void) setCustomRole: | (JCMediaChannelCustomRole) | customRole | |
participant: | (JCMediaChannelParticipant *__nullable) | participant | |
设置自定义角色
- 参数
-
customRole 自定义角色 participant JCMediaChannelParticipant 对象,频道中的成员,nil 则默认设置自己
◆ setCustomState:participant:
- (void) setCustomState: | (JCMediaChannelCustomState) | customState | |
participant: | (JCMediaChannelParticipant *__nullable) | participant | |
设置自定义状态
- 参数
-
customState 自定义状态 participant JCMediaChannelParticipant 对象,频道中的成员,nil 则默认设置自己
◆ setUseExternalScreenCaptureControl:
- (void) setUseExternalScreenCaptureControl: | (bool) | useExternalControl |
设置是否由应用层自行控制屏幕采集逻辑,默认 false,由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑,比如加入房间时开启屏幕共享自动开启屏幕采集,关闭屏幕共享或者离开房间时时自动关闭屏幕采集。
- 参数
-
useExternalControl 是否由应用层自行控制屏幕采集逻辑 - true 由应用层自行调用
enableScreenCapture
接口控制屏幕采集开启/关闭逻辑。 - false 由 SDK 内部根据通话业务开始/结束自动控制屏幕采集开启/关闭逻辑。
- true 由应用层自行调用
◆ startScreenShareVideo:pictureSize:
- (JCMediaDeviceVideoCanvas *__nullable) startScreenShareVideo: | (JCMediaDeviceRender) | type | |
pictureSize: | (JCMediaChannelPictureSize) | pictureSize | |
启动频道成员的屏幕分享视频渲染
频道成员开启屏幕分享时,调用此方法可获得屏幕分享视频 渲染对象
- 参数
-
type 渲染模式: - JCMediaDeviceRenderFullScreen : 铺满窗口,会有裁剪
- JCMediaDeviceRenderFullContent : 全图像显示,会有黑边
- JCMediaDeviceRenderFullAuto : 自适应
pictureSize 视频请求的尺寸类型:
- 返回
- JCMediaDeviceVideoCanvas 渲染对象
◆ stop
- (bool) stop |
关闭频道
此频道内的成员都将被强制退出
- 返回
- 调用是否正常
- true: 正常执行调用流程
- 在调用此方法时,用户的频道状态是空闲状态,不会收到回调通知
- 在调用此方法时,用户的频道状态不是空闲状态,则会收到
onStop
通知
- false: 调用失败
- true: 正常执行调用流程
◆ stopScreenShareVideo
- (void) stopScreenShareVideo |
停止屏幕分享视频渲染
调用 startScreenShareVideo
启动屏幕分享视频渲染后,调用此方法可停止
◆ subscribeParticipantAudio:subscribe:
- (bool) subscribeParticipantAudio: | (JCMediaChannelParticipant *__nonnull) | participant | |
subscribe: | (bool) | subscribe | |
订阅或取消订阅指定用户的声音
- 注解
- 该接口需要在自己加入会议成功后才能调用
- 参数
-
participant JCMediaChannelParticipant 对象,频道中的成员对象 subscribe 是否订阅 - true:订阅
- false:取消订阅
- 返回
- 调用是否正常
- true:正常执行调用流程
- false:调用失败
属性说明
◆ audioOutput
|
readnonatomicassign |
是否音频输出
本地没有音频输出的话,就听不到频道内其他成员的声音了
- true: 输出中
- false: 未输出
◆ cdnState
|
readnonatomicassign |
获得cdn推流状态
- JCMediaChannelCdnStateNone : 无法进行Cdn推流。用户不在频道中或者加入频道时没有设置cdn推流参数
- JCMediaChannelCdnStateReady : 可以开启Cdn推流。用户在加入频道时设置了cdn推流参数,并且没有在推流
- JCMediaChannelCdnStateRunning : Cdn推流中。用户在加入频道时设置了cdn推流参数,并且正在cdn推流中
◆ channelId
|
readnonatomiccopy |
频道标识
◆ channelNumber
|
readnonatomicassign |
频道号
◆ channelUri
|
readnonatomiccopy |
频道 Uri
◆ confId
|
readnonatomicassign |
频道在服务器的序号
◆ maxResolution
|
readnonatomicassign |
获得频道最大分辨率
频道中的最大分辩由第一个加入频道的用户决定, JoinParam 参数中设置的分辩率并一定是频道的最大分辨率,只有加入成功后才能准确知道
- 注解
- 该接口需要在加入成功后调用才有意义
最大分辨率枚举值如下:
- JCMediaChannelMaxResolution360 : 最大分辨率 360p
- JCMediaChannelMaxResolution720 : 最大分辨率 720p
- JCMediaChannelMaxResolution1080 : 最大分辨率 1080p
◆ participants
|
readnonatomicstrong |
获得频道中的所有成员
◆ password
|
readnonatomicassign |
频道密码
◆ recordState
|
readnonatomicassign |
获得视频录制状态,参见:
- JCMediaChannelRecordStateNone : 无法进行视频录制。用户不在频道中或者加入频道时没有设置视频录制参数
- JCMediaChannelRecordStateReady : 可以开启视频录制。用户在加入频道时设置了录制参数,并且没有在录制视频
- JCMediaChannelRecordStateRunning : 视频录制中。用户在加入频道时设置了录制参数,并且正在视频录制中
◆ screenRenderId
|
readnonatomiccopy |
屏幕共享渲染标识
没有屏幕共享则为 nil
◆ screenUserId
|
readnonatomiccopy |
屏幕共享用户标识
没有屏幕共享则为 nil
◆ selfParticipant
|
readnonatomicassign |
◆ sessionId
|
readnonatomiccopy |
获取服务器唯一频道ID
◆ state
|
readnonatomicassign |
自己当前在频道中的状态
当前在频道中的状态,参见:
- JCMediaChannelStateIdle : 空闲状态
- JCMediaChannelStateJoining : 加入中
- JCMediaChannelStateJoined : 已加入
- JCMediaChannelStateLeaving : 离开中
◆ title
|
readnonatomiccopy |
频道标题
◆ uploadLocalAudio
|
readnonatomicassign |
是否上传本地音频数据
- true: 上传中
- false: 未上传
◆ uploadLocalVideo
|
readnonatomicassign |
是否上传本地视频数据
- true: 上传中
- false: 未上传
◆ volumeChangeNotify
|
readwritenonatomicassign |
是否通知成员音量变化,默认不通知
- true: 通知
- false: 不通知
该类的文档由以下文件生成:
- JCSDKOC/JCSDKOC/JCMediaChannel/JCMediaChannel.h