场景6: 创建会议
描述
创建会议功能会是指创建一个即时会议并立即加入会议,可以通过传参指定创建音频会议还是视频会议,可以指定会议是否需要密码。
业务流程
- 准备创建会议参数
准备创建会议参数,类型为CreateConfParam,定义详见CreateConfParam的接口定义,共需要以下几个参数:会议主题、会议类型、是否需要密码、成员列表(携带与会者时传入)、是否打开摄像头(默认关闭)、是否打开麦克风(默认关闭)、云会议室id(使用时传入)、设置允许入会范围(必填:0-所有人,2-企业内,3-会议邀请人员)。
1 2 3 4 5 6 7 8 9 10
//创建会议对象 CreateConfParam createConfParam = new CreateConfParam() .setSubject(getSubject()) //会议名称 .setConfType(ConfType.CONF_AUDIO) //会议类型,详情请见表2 CreateConfParam参数说明 .setVmrId(getVmrId()) // 云会议室id(非必传字段) .setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE) // 设置允许入会范围限制 .setCameraOn(true) //摄像头是否开启 .setMicOn(true) //麦克风是否开启 .setRecordOn(true) //会议录制功能是否开启 .setNeedPassword(true); //会议是否需要密码
- 是否携带与会者(可选)
如果需要携带与会者创建会议,给步骤1生成的创建会议参数中members赋值一个携带与会者的数组,如果不需要携带与会者可以不传入。
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
List<AttendeeModel> attendeeList = new ArrayList<>(); //以下三种方式可选 String name = getName(); String number = getNumber(); String thirdAccount = getThirdAccount(); if (!TextUtils.isEmpty(thirdAccount)) { if (LoginStatusCache.getsLoginAccountInfo() instanceof AppIdAuthInfo) { //如果是appid的方式登录 attendeeList.add(AttendeeModel.buildAttendeeByThirdUserId(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) //会议类型,详情请见表2 CreateConfParam参数说明 .setVmrId(getVmrId()) // 云会议室id(非必传字段) .setJoinConfRestrictionType(JoinConfPermissionType.PERMIT_EVERYONE) // 设置允许入会范围限制 .setCameraOn(true) //摄像头是否开启 .setMicOn(true) //麦克风是否开启 .setRecordOn(true) //会议录制功能是否开启 .setNeedPassword(true) //会议是否需要密码 .setAttendeeMembers(attendeeInfos); //添加与会人信息
- 调用接口
使用步骤1和步骤2生成的创建会议参数,并根据返回的回调对执行的结果进行判断和处理,返回回调中onSuccess表示成功,onFailed表示失败,onCancel表示没有网络等取消创建,ErrorMessageFactory.create可以将场景错误码转成国际化的提示。
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//开始创建会议 HWMSdk.getOpenApi(getActivity()).createConf(createConfParam, new HwmCancelableCallBack <ConfInfo>() { @Override public void onSuccess(ConfInfo confInfo) { //创建成功 confInfo 会议详情 //会议id:confInfo.getConfId(); //会议密码:confInfo.getConfPwd(); } @Override public void onFailed(int retCode, String desc) { //创建失败 String err = ErrorMessageFactory.create(Utils.getApp(), retCode); if (TextUtils.isEmpty(err)) { err = Utils.getApp().getString(com.huawei.hwmmobileconfui.R.string.conf_create_error); } Log.i(TAG, "创建会议失败: " + err); } @Override public void onCancel() { Log.i(TAG, "取消创建会议");. } }); |
注意事项
创建会议的前提是已完成初始化和登录。