sendCommand abstract method
发送指令
@note 该接口需要在自己加入会议成功后才能调用
@note
- 指令名: 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}就是讲台模式 - 指令名: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坐标(01)1)。第三个值是图像的宽(0
第二个值是图像左上角的y坐标(01)。第四个值是图像的高(01)。比如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 指令参数
@return 调用是否正常
- true:正常执行调用流程
- false:调用失败
Implementation
Future<bool> sendCommand(String name, String param);