JMSDK Android
v2.6.1
API文档
|
会议控制模块 更多...
类 | |
interface | JCConferenceCDRecResolution |
interface | JCConferenceConfState |
interface | JCConferenceIntelligentMergeMode |
interface | JCConferenceMaxResolution |
interface | JCConferenceMediaType |
interface | JCConferenceParticipantType |
interface | JCConferencePictureSize |
interface | JCConferenceReason |
interface | JCConferenceReserveInfoChangeType |
interface | JCConferenceState |
interface | JCConferenceUserIdType |
interface | JCConferenceVideoMergeMode |
interface | NetStatus |
interface | ScsMergeMode |
interface | VolumeStatus |
Public 成员函数 | |
abstract int | getState () |
abstract JCConferenceInfo | getConferenceInfo () |
abstract int | queryGoingConf (String confNumber) |
abstract boolean | start (String confNumber, boolean video, Map< String, String > config) |
abstract boolean | stop () |
abstract boolean | join (String confNumber, boolean video, Map< String, String > config) |
abstract boolean | leave () |
abstract boolean | lock () |
abstract int | changeChairman (String userId) |
abstract boolean | kick (List< String > userId) |
abstract boolean | mute (boolean mute, String userId) |
abstract boolean | muteAll (boolean mute) |
abstract int | delay (int time) |
abstract int | updateParticipantExpandInfo (String expandInfo) |
abstract boolean | focusParticipant (List< String > userId) |
abstract boolean | handUpParticipant (List< String > userId, boolean handUp) |
abstract boolean | setChairman (boolean isChairman) |
abstract boolean | changeParticipantRole (List< String > userId, @JCConferenceParticipantType int participantType) |
abstract boolean | setParticipantRoleEx (String userId, int mask, int value) |
abstract boolean | enableUploadAudioStream (boolean enable) |
abstract boolean | enableUploadVideoStream (boolean enable) |
abstract boolean | enableAudioOutput (boolean enable) |
abstract boolean | subscribeUserAudio (String userId, boolean subscribe) |
abstract boolean | setVideoStream (String stream) |
abstract boolean | requestVideo (String userId, @JCConferencePictureSize int pictureSize) |
abstract boolean | requestScreenVideo (String screenUri, @JCConferencePictureSize int pictureSize) |
abstract boolean | enableCdn () |
abstract boolean | enableLocalRecord (boolean enable, JCConferenceRecordLocalParams recordLocalParams) |
abstract boolean | enableRemoteRecord (boolean enable, @NonNull JCConferenceRecordRemoteParams recordRemoteParams) |
abstract boolean | enableRemoteRecordMember (boolean enable, List< String > userIdList) |
abstract boolean | enableScreenShare (boolean enable) |
abstract String | getStatistics () |
abstract boolean | sendMessage (String type, String content, String toUserId) |
abstract boolean | sendCommand (String name, String param) |
abstract boolean | setCustomProperty (String key, String value) |
abstract String | getCustomProperty (String key) |
abstract int | changeDisplayName (String userId, String changeName) |
abstract int | invite (List< String > users) |
abstract int | inviteEx (List< JCConferenceInviteInfo > users) |
abstract int | importCandidates (List< JCConferenceCandidate > candidates, String info) |
abstract int | rejectCandidate (String confNumber) |
abstract int | reserve (JCConferenceReserveInfo reserveInfo) |
abstract int | cancelReserve (String uuid) |
abstract int | editReserve (JCConferenceReserveInfo reserveInfo) |
abstract int | refreshReservedConf () |
abstract int | queryReservedConf (@JCConferenceConfState int state, int page, int count) |
abstract int | queryReservedConf (JCConferenceReserveInfo reserveInfo, int count) |
abstract int | querySingleConf (String uuid) |
abstract int | inviteSipUser (JCConferenceSipInviteInfo sipParam) |
abstract boolean | inviteToScreenShare (String toUserId) |
abstract boolean | rejectToScreenShare (String toUserId) |
abstract boolean | inviteToSpeak (String toUserId) |
abstract boolean | transferToAudioConf () |
abstract boolean | isAudioConf () |
abstract boolean | startOrUpdateSubTitle (JCConferenceSubTitleInfo subTitleInfo) |
abstract boolean | stopSubTitle () |
abstract boolean | startDoodle () |
abstract boolean | stopDoodle () |
abstract boolean | setLocalRatio (float ratio) |
静态 Public 成员函数 | |
static JCConference | create (JCClient client, JCMediaDevice mediaDevice, JCConferenceCallback callback) |
static JCConference | create (JCClient client, JCMediaDevice mediaDevice, JCDoodle doodle, JCConferenceCallback callback) |
static void | destroy () |
静态 Public 属性 | |
static final int | VALUE_INIT = -1 |
static final int | CHANGE_TYPE_CONF_START = 0 |
static final int | CHANGE_TYPE_CONF_END = 1 |
static final int | CHANGE_TYPE_ONLINE_MEMBER_COUNT = 2 |
static final int | CHANGE_TYPE_RESERVED = 3 |
static final int | REASON_NONE = 0 |
static final int | REASON_NOT_LOGIN = 1 |
static final int | REASON_TIMEOUT = 2 |
static final int | REASON_NETWORK = 3 |
static final int | REASON_KICKED = 4 |
static final int | REASON_OFFLINE = 5 |
static final int | REASON_QUIT = 6 |
static final int | REASON_OVER = 7 |
static final int | REASON_FULL = 8 |
static final int | REASON_INVALID_PASSWORD = 9 |
static final int | REASON_LOCK = 10 |
static final int | REASON_GROUP_CONF_EXIST = 11 |
static final int | REASON_NO_CONF_IN_GROUP = 12 |
static final int | REASON_CONF_NUMBER_NOT_FOUND = 13 |
static final int | REASON_CONF_NUMBER_EXIST = 14 |
static final int | REASON_CONF_APP_CONCURRENCY_FUL = 15 |
static final int | REASON_CONF_ALL_CONCURRENCY_FUL = 16 |
static final int | REASON_CONF_ALREADY_ENDED = 17 |
static final int | REASON_CONF_ALREADY_IN = 18 |
static final int | REASON_CONF_FUNCTION_ERROR = 19 |
static final int | REASON_OTHER = 100 |
static final int | PICTURESIZE_INIT = -1 |
static final int | PICTURESIZE_NONE = 0 |
static final int | PICTURESIZE_MIN = 1 |
static final int | PICTURESIZE_SMALL = 2 |
static final int | PICTURESIZE_LARGE = 3 |
static final int | PICTURESIZE_MAX = 4 |
static final int | STATE_IDLE = 0 |
static final int | STATE_JOINING = 1 |
static final int | STATE_JOINED = 2 |
static final int | STATE_LEAVING = 3 |
static final int | PARTICIPANT_TYPE_INIT = -1 |
static final int | PARTICIPANT_TYPE_VIDEO = 0 |
static final int | PARTICIPANT_TYPE_AUDIO = 1 |
static final int | PARTICIPANT_TYPE_AUDIENCE = 2 |
static final int | Id_TYPE_USERNAME = 0 |
static final int | Id_TYPE_EMAIL = 1 |
static final int | MAX_RESOLUTION_360p = 0 |
static final int | MAX_RESOLUTION_720p = 1 |
static final int | MAX_RESOLUTION_1080p = 2 |
static final int | CD_REC_RESOLUTION_360p = 0 |
static final int | CD_REC_RESOLUTION_720p = 1 |
static final int | MEDIA_TYPE_AUDIO = 0 |
static final int | MEDIA_TYPE_VIDEO = 1 |
static final int | CONF_STATE_ALL = -1 |
static final int | CONF_STATE_RESERVE = 0 |
static final int | CONF_STATE_STARTED = 1 |
static final int | CONF_STATE_CANCELED = 2 |
static final int | CONF_STATE_ENDED = 3 |
static final int | VIDEO_MERGE_MODE_MERGE_SCREEN = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_SCREEN |
static final int | VIDEO_MERGE_MODE_MERGE_PLATE_FORM = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_PLATFORM |
static final int | VIDEO_MERGE_MODE_MERGE_SPEAKER = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_SPEAKER |
static final int | VIDEO_MERGE_MODE_REALTIME_VIDEO = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_LAYOUT |
static final int | VIDEO_MERGE_MODE_INTELLIGENT_LAYOUT = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_INTELLEGENCE |
static final int | VIDEO_MERGE_MODE_SCREEN_SHARING = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_SCREENSHARING |
static final int | INTELLIGENT_MERGE_MODE_FREE_LAYOUT = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_FREE_LAYOUT_I |
static final int | INTELLIGENT_MERGE_MODE_RECT_LAYOUT = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_RECT_LAYOUT_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X2 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX2_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X3 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX3_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X4 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX4_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X5 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX5_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X6 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX6_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X7 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX7_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X8 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX8_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X9 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX9_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_X10 = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALLX10_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_TOP = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALL_TOP_I |
static final int | INTELLIGENT_MERGE_MODE_BIG_SMALL_BOTTOM = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_BIG_SMALL_BOTTOM_I |
static final int | INTELLIGENT_MERGE_MODE_DIVIDE_LAYOUT = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_DIVIDE_LAYOUT_I |
static final int | INTELLIGENT_MERGE_MODE_DIVIDE_LAYOUT_NO_ANGLE = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_DIVIDE_LAYOUT_NOANGLE_I |
static final int | SCS_MERGE_MODE_SCREEN_SHARE = MtcConfConstants.MTC_CONF_COMPOSITE_SCREENSHARE_I |
static final int | SCS_MERGE_MODE_PLATE_FORM = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_PLATFORM_I |
static final int | SCS_MERGE_MODE_PLATE_FORM_COVER = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_PLATFORM_COVER_I |
static final int | SCS_MERGE_MODE_SPEAKER = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_SPEAKER_I |
static final int | SCS_MERGE_MODE_WITHOUT_SCREEN_SHARE = MtcConfConstants.MTC_CONF_COMPOSITE_MODE_WITHOUT_SCREENSHARE_I |
static final String | CONFIG_CAPACITY = "capacity" |
static final String | CONFIG_TITLE = "title" |
static final String | CONFIG_PASSWORD = "password" |
static final String | CONFIG_CONF_EXPAND = "confExpand" |
static final String | CONFIG_VIDEO_SQUARE = "videoSquare" |
static final String | CONFIG_SMOOTH_MODE = "smoothMode" |
static final String | CONFIG_MAX_RESOLUTION = "maxResolution" |
static final String | CONFIG_SVC_RESOLUTION = "svcResolution" |
static final String | CONFIG_DEFAULT_BIT_RATE = "defaultBitrate" |
static final String | CONFIG_MAX_FRAME_RATE = "maxFrameRate" |
static final String | CONFIG_MAX_BIT_RATE = "maxBitrate" |
static final String | CONFIG_WHOLE_RATIO = "wholeRatio" |
static final String | CONFIG_CDN = "cdn" |
static final String | CONFIG_CONF_CLOSE_WHEN_ALONE = "confCloseWhenAlone" |
static final String | CONFIG_CREATE_AND_JOIN = "createAndJoin" |
static final String | CONFIG_MAX_SENDER = "maxSender" |
static final String | CONFIG_DEFAULT_MEMBER_ROLE = "defaultMemberRole" |
static final String | CONFIG_REMOTE_RECORD = "remoteRecord" |
static final String | CONFIG_FIXED_RESOLUTION = "fixedResolution" |
static final String | CONFIG_MEDIA_HOSTING = "mediaHosting" |
static final String | CONFIG_CD_REC_RESOLUTION = "cdRecResolution" |
static final String | CONFIG_HEART_TIME = "heartTime" |
static final String | CONFIG_HEART_TIMEOUT = "heartTimeout" |
static final String | CONFIG_PART_DISPLAYNAME = "partDisplayName" |
static final String | CONFIG_PART_EXPAND = "partExpand" |
static final String | CONFIG_PART_JOIN_ROLE = "partJoinRole" |
static final String | CONFIG_PART_UPLOAD_AUDIO = "partUploadAudio" |
static final String | CONFIG_PART_UPLOAD_VIDEO = "partUploadVideo" |
static final String | CONFIG_PART_SETCHAIRMAN = "partSetChairman" |
static final int | NET_STATUS_DISCONNECTED = 0 |
static final int | NET_STATUS_VERY_BAD = 1 |
static final int | NET_STATUS_BAD = 2 |
static final int | NET_STATUS_NORMAL = 3 |
static final int | NET_STATUS_GOOD = 4 |
static final int | NET_STATUS_VERY_GOOD = 5 |
static final int | VOLUME_STATUS_NONE = 0 |
static final int | VOLUME_STATUS_ZERO = 1 |
static final int | VOLUME_STATUS_LOW = 2 |
static final int | VOLUME_STATUS_MID = 3 |
static final int | VOLUME_STATUS_HIGH = 4 |
Protected 成员函数 | |
abstract void | destroyObj () |
会议控制模块
|
abstract |
取消预约会议
uuid | 预约会议的uuid |
|
abstract |
移交主持人,主持人才能调用该接口,结果回调onChangeChairmanResult 请求成功后会议中所有成员收到onCommandReceivedResult的回调,对应的JCConferenceCommandInfo.type为COMMANDINFO_CHANGE_CHAIRMAN
userId | 被移交的成员 |
|
abstract |
|
abstract |
更改成员的角色
userId | 成员id |
participantType | 更改的角色类型,目前只能传PARTICIPANT_TYPE_VIDEO、PARTICIPANT_TYPE_AUDIENCE、PARTICIPANT_TYPE_AUDIO |
|
inlinestatic |
创建JCConference对象
client | JCClient 对象 |
mediaDevice | JCMediaDevice 对象 |
callback | 实现 JCConferenceCallback 接口的对象,用于接收 JCConference 相关通知 |
|
inlinestatic |
创建JCConference对象
client | JCClient 对象 |
mediaDevice | JCMediaDevice 对象 |
doodle | JCDoodle对象 |
callback | 实现 JCConferenceCallback 接口的对象,用于接收 JCConference 相关通知 |
|
abstract |
延长预约会议的时长 主持人才能调用该接口 当预约的会议即将结束(结束前5分钟),主持人会收到回调 onCommandReceivedResult(type为COMMANDINFO_DELAY_REMIND),主持人可以调用该接口延长会议。
time | 延迟的时间,单位分钟 |
|
inlinestatic |
销毁 JCConference 对象
|
abstractprotected |
销毁对象
|
abstract |
更新预约信息,只有创建者才能更新
reserveInfo | 预约信息参数 |
|
abstract |
是否订阅会议音频流,关闭订阅将无法听到会议中其他成员的声音
当前的状态
enable | 是否开启音频输出 |
|
abstract |
开关Cdn推流,内部根据状态决定是否开启
|
abstract |
开关会议录制(本地录制),内部根据状态决定是否开启
enable | 是否开启视频录制, true开始录制, false结束录制 |
recordLocalParams | 录制参数 |
|
abstract |
开关服务器录制
enable | 是否开启视频录制, true开始录制, false结束录制 |
recordRemoteParams | 录制参数 |
|
abstract |
服务器录制开启后,指定/取消录制某成员音视频数据
enable | true指定录制该成员音视频数据,false取消录制该成员音视频数据 |
userIdList | 指定录制成员用户Id列表 |
|
abstract |
开关屏幕共享,会议中的成员会收到回调 onCommandReceivedResult(type为JCConferenceCommandInfo.COMMANDINFO_SCREEN_SHARE_START或COMMANDINFO_SCREEN_SHARE_STOP) 需要在app工程的Manifest文件声明: <activity android:name="com.justalk.cloud.zmf.ZmfActivity" </activity>
enable | true 开启,false 关闭 |
|
abstract |
开启关闭发送本地音频流,会议中的成员会收到 onConferenceParticipantUpdate 回调
当前的状态
enable | 是否开启本地音频流 |
|
abstract |
开启关闭发送本地视频流,会议中的成员会收到 onConferenceParticipantUpdate 回调
当前的状态
enable | 是否开启本地视频流 |
|
abstract |
设置焦点成员,界面可以对焦点成员在视频布局中展示。 设置成功会议中所有成员收到onCommandReceivedResult的回调,对应的type为COMMANDINFO_FOCUS
userId | 成员UserId,传 null 取消所有焦点成员 |
|
abstract |
获得会议相关
|
abstract |
获取会议自定义属性
key | 自定义 key 值 |
|
abstract |
|
abstract |
获得统计信息,以Json字符串形式返回,其中包含 "Config", "Network","Transport" 和 "Participants" 4个节点
|
abstract |
成员举手/取消举手 普通成员可以调用该接口举手或取消举手 如有成员举手,主持人可以调用该接口取消成员举手 设置成功会议中所有成员会收到onCommandReceivedResult的回调
userId | 成员UserId |
handUp | 举手或者取消举手 true 举手,false 取消举手 |
|
abstract |
设置待加入成员,会议成员收到 onConferenceCandidatesChanged 回调。 该接口配合 Invite 接口使用,在邀请成员后同时设置这些成员,界面可以显示这些被邀请的成员
candidates | 待加入成员信息 |
info | 界面自定义info,Json格式字符串 |
|
abstract |
邀请成员加入
users | 被邀请人的成员,List中的元素为被邀请者UserId |
|
abstract |
邀请成员加入会议,JCConferenceInviteInfo.expandInfo 可携带自定义信息并发送给被邀请人
users | 被邀请的成员对象 |
|
abstract |
邀请Sip用户,一般用于对接落地网关等 onConferenceCandidatesChanged
sipParam | 邀请sip用户入会的配置参数 |
|
abstract |
主持人指定人员共享桌面
toUserId | 指定人员用户id |
|
abstract |
主持人指定人员发言
toUserId | 接收者id |
|
abstract |
是否音频会议
|
abstract |
加入会议,结果回调 onConferenceJoin
confNumber | 会议号 |
video | 接口暂时没用该参数 |
config | 具体查看JCConference JoinParam的配置参数 |
|
abstract |
踢出成员,主持人才能调用该接口
userId | 会议中的成员对象 |
|
abstract |
离开会议,结果回调 onConferenceLeave
|
abstract |
锁定会议 / 解除锁定 会议被锁定后无法加入该会议,须再次调用该接口来解锁,JCConferenceInfo.Lock表示当前会议是否被锁定,主持人才能调用该接口 操作结果(成功或失败)通过 onLockResult 回调。 操作成功后会议中所有成员收到onCommandReceivedResult的回调,对应的JCConferenceCommandInfo.type为COMMANDINFO_LOCK。JCConference.ConferenceInfo.lock表示当前会议是否被锁定。
|
abstract |
成员静音/解除静音,主持人才能调用该接口 静音后成员无法发言。可以通过再次调用该接口来解除成员静音。 请求成功后会议中所有成员收到onCommandReceivedResult的回调,对应的JCConferenceCommandInfo.type为COMMANDINFO_MUTE。 可以通过JCConference.getParticipants()获取成员列表查看某个成员的isMute()判断是否被静音。
mute | true 静音,false 解除静音 |
userId | 被静音的成员 |
|
abstract |
全场静音/解除全场静音,主持人才能调用该接口 静音后除主持人外都无法发言。全场静音后可以通过再次调用该接口来解锁,也可以单个对用户进行解除静音。 请求成功后会议中所有成员收到onCommandReceivedResult的回调,对应的JCConferenceCommandInfo.type为COMMANDINFO_MUTE。 JCConference.ConferenceInfo.allMute 表示当前会议是否被静音。
mute | true 静音,false 解除静音 |
|
abstract |
查询进行中的会议,结果回调 onQueryGoingConfResult
confNumber | 会议号或者, 可用groupId查询该群组是否有会议,参数格式:JCConferenceQueryByGroupId+groupId,JusTalk使用 |
|
abstract |
查询预约会议列表,结果回调onQueryConfResult
state | 预约会议状态,具体查看 JCConferenceConfState |
page | 分页查询,从1开始递增 |
count | 每一页的总数 |
|
abstract |
查询指定预约会议会议记录之前的预约会议列表,结果回调onQueryConfResult
reserveInfo | 指定预约会议 |
count | 查询条数 |
|
abstract |
查询单个会议 结果回调 onQuerySingleConfResult
uuid | 需查询的会议id |
|
abstract |
获取预约会议列表,结果回调 onRefreshReservedConfResult。 第一次调用获取所有预约会议列表,下一次调用该接口刷新时, 在上一次的刷新时间基础上获取该时间点到当前时间点这段时间内变更(新增、更新、删除)的会议列表。 该接口适用于数据库存储数据。
|
abstract |
删除待加入成员,会议成员收到 onConferenceCandidatesChanged 回调。 如果发起邀请时调用 ImportCandidates 接口,被邀请成员收到邀请后拒绝邀请,则需调用该接口。
confNumber | 收到邀请的会议号 |
|
abstract |
被主持人邀请屏幕共享后,拒绝共享
toUserId | 主持人id |
|
abstract |
请求屏幕共享的视频流
当 pictureSize 为 PictureSizeNone 标识关闭请求
screenUri | 屏幕分享uri |
pictureSize | 视频请求尺寸类型 |
|
abstract |
请求用户的视频流
当 pictureSize 为 PictureSizeNone 标识关闭请求
userId | 用户对象userId |
pictureSize | 视频请求尺寸类型 |
|
abstract |
预约会议
reserveInfo | 预约信息参数 |
|
abstract |
发送指令
指令名: 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 | 指令参数 |
|
abstract |
发送消息,其他成员会收到回调 onMessageReceive
type | 消息类型 |
content | 消息内容,当 toUserId 不为 null 时,content 不能大于 4k |
toUserId | 接收者id,null则发给所有会议人员 |
|
abstract |
设置主持人(自己)
isChairman | 是否为主持人 |
|
abstract |
设置会议自定义属性,会议中的成员会收到回调 onCommandReceivedResult(type为JCConferenceCommandInfo.COMMANDINFO_CUSTOM_PROPERTY_CHANGED)
key | 自定义 key 值 |
value | 自定义 value 值 |
|
abstract |
设置本地宽高比
ratio | 宽高比 |
|
abstract |
设置会议中的成员角色值,界面定制化接口,根据界面需求来决定是否要用该接口
userId | 对应成员的userId |
mask | 位运算,需运算的位数 |
value | 更改的角色类型 |
|
abstract |
设置本地发送的视频流,在会议加入成功后调用
stream | 摄像头的视频流,也可以是自定义的视频流 |
|
abstract |
创建并加入一个会议,结果回调 onConferenceJoin
confNumber | 传 "0" 由服务器生成10位的会议号,可传字母或数字作为自定义会议号 |
video | true 视频会议,false 语音会议 |
config | 会议的其他配置,具体查看JCConference JoinParam的配置参数 |
|
abstract |
开启涂鸦
|
abstract |
|
abstract |
结束会议,主持人才能调用该接口结束会议,结果回调 onConferenceLeave
|
abstract |
关闭涂鸦
|
abstract |
关闭会议字幕
|
abstract |
订阅/取消订阅某个成员的音频,取消订阅时不会播放该成员的声音。成员的对应状态 JCConferenceParticipant 对象的 isSubscribeAudio
userId | 其他成员userId |
subscribe | true订阅,false取消订阅 |
|
abstract |
转语音会议
|
abstract |
更新成员(自己)扩展信息,会议中的成员会收到 onConferenceParticipantUpdate 回调
expandInfo | 扩展信息 |
|
static |
360P
|
static |
720P
|
static |
进行中的预约会议变成结束状态
|
static |
预约的会议变成开始状态
|
static |
进行中的预约在线人数变化
|
static |
预约会议的创建(所有参与成员包括发起预约者自己都会收到通知)
|
static |
查询所有状态个数
|
static |
取消
|
static |
结束
|
static |
预约
|
static |
开始
|
static |
设置会议人数,默认8人,发起会议时可携带
|
static |
CDN推流和服务器录制分辨率,360p设置"0",720p设置"1", 发起会议时可携带,取值枚举JCConference.JCConferenceCDRecResolution
|
static |
cdn地址参数,发起会议时可携带
|
static |
设置当会议中只剩一个成员时是否结束会议,结束设置 true,不结束设置 false,默认不结束,发起会议时可携带
|
static |
会议的扩展字段,用于设置会议的自定义信息, 发起会议时可携带
|
static |
加入会议时如果会议不存在是否创建并加入,创建设置 true,不创建设置 false,默认不创建
|
static |
默认码率
|
static |
创会者决定其他成员入会时的默认角色 视频设置"0" 音频设置"1" 观众设置"2",默认视频,取值枚举JCConference.JCConferenceParticipantType
|
static |
是否固定会议分辨率(360p),固定传true,不固定传false
|
static |
心跳时间
|
static |
心跳超时时间,单位秒
|
static |
最大码率
|
static |
最大帧率
|
static |
最大分辨率,360p设置"0" 720p设置"1" 1080p设置"2",默认360p, 发起会议时可携带,取值枚举JCConference.JCConferenceMaxResolution
|
static |
设置会议最大的上行路数(能发送媒体数据,1-16),默认16路, 发起会议时可携带
|
static |
是否音视频默认开启,开启传true,则加入会议成功后选择默认音频输入输出设备以及默认摄像头打开,否则传false,需要应用实现打开关闭音频设备和摄像头,默认开启
|
static |
设置昵称(自己),发起或加入会议时可携带
|
static |
成员的扩展字段,用于设置成员的自定义信息,发起或加入会议时可携带
|
static |
成员入会时的角色 视频设置"0" 音频设置"1" 观众设置"2",默认视频,取值枚举JCConference.JCConferenceParticipantType(服务器会根据会中最大视频人数、音频人数以及创会者携带其他成员入会时的默认角色,改变最终入会角色)
|
static |
设置(自己)主持人
|
static |
设置成员(自己)的音频发送状态,发送设置 true,不发送设置 false,默认不发送,发起或加入会议时可携带
|
static |
设置成员(自己)的视频发送状态,发送设置 true,不发送设置 false,默认不发送,发起或加入会议时可携带
|
static |
设置会议密码,发起或加入会议时可携带
|
static |
是否开启服务器录制,开启传true,不开启传false
|
static |
设置会议平滑模式,开启设置 true,不开启设置 false,默认不开启。发起会议时可携带
|
static |
会议svc配置(各个层级的分辨率、码率),如果设置了该参数,最大分辨率、固定分辨率参数将无效
|
static |
设置会议title, 发起会议时可携带
|
static |
设置会议中视频的比例为16:9或正方形,正方形设置 true,16:9设置 false,默认视频为16:9,发起会议时可携带
|
static |
全局宽高比
|
static |
邮箱
|
static |
用户名
|
static |
大小屏放大到底部
|
static |
大小屏放大到顶部
|
static |
大小屏放大10倍
|
static |
大小屏放大2倍
|
static |
大小屏放大3倍
|
static |
大小屏放大4倍
|
static |
大小屏放大5倍
|
static |
大小屏放大6倍
|
static |
大小屏放大7倍
|
static |
大小屏放大8倍
|
static |
大小屏放大9倍
|
static |
绝对等分模式
|
static |
绝对等分模式不带图像角度
|
static |
自由布局
|
static |
矩形布局
|
static |
1080P
|
static |
360P
|
static |
720P
|
static |
音频
|
static |
视频
|
static |
差
|
static |
无网络
|
static |
好
|
static |
一般
|
static |
很差
|
static |
很好
|
static |
观众(只能订阅其他成员的媒体数据)
|
static |
音频成员(能订阅其他成员的媒体数据,能发送自己的音频数据)
|
static |
初始值
|
static |
视频成员(能订阅其他成员的媒体数据,能发送自己的音视频数据)
|
static |
初始值
|
static |
大尺寸
|
static |
最大尺寸
|
static |
最小尺寸
|
static |
不请求
|
static |
小尺寸
|
static |
服务器会议成员总数上限(总会议人数)
|
static |
该会议已经结束(已经结束的预约会议不能重新通过join接口加入)
|
static |
会议已经存在(同时只能一个会议存在)
|
static |
服务器会议成员总数上限(移动端会议人数)
|
static |
函数调用失败
|
static |
会议号已存在
|
static |
该会议号的会议不存在
|
static |
成员满
|
static |
群组已有会议
|
static |
无效密码
|
static |
被踢
|
static |
会议被锁定
|
static |
网络异常
|
static |
群组没有会议
|
static |
无异常
|
static |
未登陆
|
static |
掉线
|
static |
其他错误
|
static |
会议关闭
|
static |
主动离开
|
static |
超时
|
static |
将屏幕共享和所有视频内容合并, 所有视频不覆盖屏幕共享 屏幕共享独占 + 其它一排它小视频
|
static |
将屏幕共享和所有视频内容合并, 所有视频覆盖在屏幕共享上 屏幕共享独占 + 其它一排它小视频
|
static |
屏幕共享独占
|
static |
将屏幕共享和一个焦点视频内容合并
|
static |
忽略屏幕共享
|
static |
空闲状态
|
static |
已加入
|
static |
加入中
|
static |
离开中
|
static |
初始值
|
static |
智能分屏
|
static |
将屏幕共享和所有视频内容合并
|
static |
平铺屏幕共享和所有视频
|
static |
将屏幕共享和焦点视频内容合并
|
static |
只发送当前焦点视频
|
static |
只发送屏幕共享
|
static |
高
|
static |
低
|
static |
中
|
static |
静音
|
static |
无声音