sendCommand abstract method

Future<bool> sendCommand(
  1. String name,
  2. String param
)

发送指令

@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)
    第二个值是图像左上角的y坐标(0
    1)。第三个值是图像的宽(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);