创建会议
1
|
HWMSdk.getOpenApi.createConf(CreateConfParam, HwmCancelableCallBack) |
接口描述
该接口用于创建即时会议并立即加入会议。
注意事项
该接口会申请应用程序的audio和camera权限。
方法定义
1 2 3 4 5 6 |
/** * 创建会议接口 * @param createConfParam 会议配置实体 * @param hwmCallback 会议创建回调 */ void createConf(CreateConfParam createConfParam , HwmCancelableCallBack <ConfInfo> hwmCallback); |
参数描述
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
createConfParam |
是 |
CreateConfParam |
创建会议参数实体 |
hwmCallback |
是 |
HwmCancelableCallBack |
会议创建结果回调 |
返回值
无。
参数拓展
参数 |
是否必须 |
类型 |
描述 |
---|---|---|---|
subject |
是 |
String |
会议主题 |
confType |
是 |
ConfType |
CONF_AUDIO(0, "语音会议"), CONF_VIDEO(1, "视频会议"), |
needPassword |
是 |
boolean |
会议是否需要密码
说明:
仅对随机ID会议生效。 |
guestPwd |
否 |
String |
来宾密码,如果不填则来宾密码由服务端生成
说明:
仅对随机ID会议生效。 |
attendeeMembers |
否 |
List<AttendeeModel> |
会议参加者集合 |
isCameraOn |
否 |
boolean |
是否开启摄像头 |
isMicOn |
否 |
boolean |
是否开启麦克风 |
isRecordOn |
否 |
boolean |
会议录制功能是否开启
说明:
仅对云录制生效,客户端本地录制不生效。 |
isAutoRecord |
否 |
boolean |
会议开始后是否自动开启录制,默认false。开启自动录制会议时必须开启录制会议
说明:
仅对云录制生效,客户端本地录制不生效。 |
vmrId |
否 |
String |
云会议室id |
joinConfRestrictionType |
否 |
JoinConfPermissionType |
PERMIT_EVERYONE("PERMIT_EVERYONE", 0, "允许所有人入会") PERMIT_ENTERPRISE_USER("PERMIT_ENTERPRISE_USER", 2, "仅允许企业内人员入会") PERMIT_INVITED_USER("PERMIT_INVITED_USER", 3, "仅允许会议邀请人员入会") |
customInfo |
否 |
String |
端侧自定义数据,服务器不感知业务 |
isSpeakerOff |
否 |
boolean |
是否关闭扬声器,默认不关闭 |
concurrentParticipants |
否 |
int |
会议方数,会议最大与会人数限制。 注:不填则不限制 |
confResType |
否 |
ConfResType |
会议资源类型,共享VMR需要传ConfResType.CONF_RESTYPE_SHARE_VMR,非共享VMR可不传此参数 |
autoMuteMode |
否 |
AutoMuteType |
个人客户端入会是否自动静音 |
hardTerminalAutoMuteMode |
否 |
AutoMuteType |
会议室设备入会是否自动静音 |
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
List<AttendeeModel> attendeeList = new ArrayList<>(); //以下三种方式可选 String name = getName(); String number = getNumber(); String thirdAccountId = getThirdAccountId(); if (!TextUtils.isEmpty(thirdAccount)) { if (LoginStatusCache.getsLoginAccountInfo() instanceof AppIdAuthParam) { //如果是appid的方式登录 attendeeList.add(AttendeeModel.buildAttendeeByThirdAccountId(thirdAccount,name)); } } else if(number.startsWith("+99")){ //sip 号码入会 attendeeList.add(AttendeeModel.buildAttendeeBySipNumber(number, name)); } else { //电话号码入会(手机和座机) attendeeList.add(AttendeeModel.buildAttendeeByPhone(number, name)); } CreateConfParam createConfParam = new CreateConfParam() .setSubject(getSubject()) //会议主题 .setConfType(ConfType.CONF_AUDIO) //会议类型 .setVmrId(getVmrId()) // 云会议室id(非必传字段) .setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE) // 设置允许入会范围限制 .setNeedPassword(true) //是否创建密码 .setCameraOn(true) //摄像头是否开启 .setMicOn(true) //麦克风是否开启 .setRecordOn(true) //会议录制功能是否开启 .setAttendeeMembers(attendeeList); //添加与会人信息 HWMSdk.getOpenApi(getActivity()).createConf(createConfParam, new HwmCancelableCallBack<ConfInfo>() { //创建会议成功回调 @Override public void onSuccess(ConfInfo confInfo) { Log.i(TAG, "创建会议成功: 会议id:" + confInfo.getConfId() + ";会议密码:" + confInfo.getConfPwd()); } //创建会议失败回调 @Override public void onFailed(int retCode, String desc) { dismissLoading(); String err = ErrorMessageFactory.create(Utils.getApp(), retCode); if (TextUtils.isEmpty(err)) { err = Utils.getApp().getString(com.huawei.hwmmobileconfui.R.string.conf_create_error); } Log.e(TAG, "创建会议失败: " + err); } @Override public void onCancel() { } }); |