
# 创建会议
```
HWMSdk.getOpenApi.createConf(CreateConfParam, HwmCancelableCallBack)
```
**接口描述**
该接口用于创建即时会议并立即加入会议。
**注意事项**
该接口会申请应用程序的audio和camera权限。
**方法定义**
```
/**
     * 创建会议接口
     * @param createConfParam 会议配置实体
     * @param hwmCallback 会议创建回调
     */
   void createConf(CreateConfParam createConfParam , HwmCancelableCallBack <ConfInfo> hwmCallback);
```
**参数描述**
表1参数说明 
| 参数              | 是否必须 | 类型                    | 描述       |
|:---|:---|:---|:---|
| createConfParam | 是    | CreateConfParam       | 创建会议参数实体 |
| hwmCallback     | 是    | HwmCancelableCallBack | 会议创建结果回调 |
   
**返回值**
无。
**参数拓展**
 表2CreateConfParam参数设置说明 
| 参数                       | 是否必须 | 类型                     | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| subject                  | 是    | String                 | **参数解释：** 会议主题 **约束限制**： 不涉及 **取值范围**： 1-385个字符 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                      |
| confType                 | 是    | ConfType               | **参数解释：** 会议类型 CONF_AUDIO(0, "语音会议") CONF_VIDEO(1, "视频会议") **约束限制**： 不涉及 **默认取值**： CONF_AUDIO                                                                                                                                                                                                                                                                   |
| needPassword             | 是    | boolean                | **参数解释：** 是否需要会议密码 **约束限制**： 仅对随机会议ID生效 **默认取值**： false                                                                                                                                                                                                                                                                                                                                                                                          |
| guestPwd                 | 否    | String                 | **参数解释：** 普通与会者密码 **约束限制**： 如果空则服务器随机生成。仅对随机会议ID生效 **取值范围**： 0-64个字符 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                  |
| attendeeMembers          | 否    | List\<AttendeeModel\>  | **参数解释：** 成员列表，可选 **约束限制：** 不涉及 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                       |
| isCameraOn               | 否    | boolean                | **参数解释：** 是否打开摄像头 **约束限制：** 不涉及 **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                             |
| isMicOn                  | 否    | boolean                | **参数解释：** 是否打开麦克风 **约束限制：** 不涉及 **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                                         |
| isRecordOn               | 否    | boolean                | **参数解释：** 会议录制功能是否开启 **约束限制：** 仅对云录制生效，客户端本地录制不生效 **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                       |
| isAutoRecord             | 否    | boolean                | **参数解释：** 会议开始后是否自动开启录制，默认false。 **约束限制**： 仅对云录制生效，客户端本地录制不生效 **默认取值**： false                                                                                                                                                                                                                                                                                                                                                                       |
| vmrId                    | 否    | String                 | **参数解释：** 个人会议或者云会议室Id **约束限制：** 创建个人会议或云会议室的时候传入，其它时候传入空 **取值范围：** 0-128个字符 **默认取值：** 不涉及                                                                                                                                                                                                                                                                         |
| joinConfRestrictionType  | 否    | JoinConfPermissionType | **参数解释：** 允许入会范围限制 PERMIT_EVERYONE(0, "允许所有人入会") PERMIT_ENTERPRISE_USER(2, "仅允许企业内人员入会") PERMIT_INVITED_USER(3, "仅允许会议邀请人员入会") **约束限制：** 不涉及 **默认取值：** PERMIT_EVERYONE                                                                                                                                                      |
| customInfo               | 否    | String                 | **参数解释：** 端侧自定义数据，服务器不感知业务 **约束限制**： 不涉及 **取值范围**： 0-64个字符 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                              |
| isSpeakerOff             | 否    | boolean                | **参数解释：** 是否关闭扬声器，切换到听筒 **约束限制：** 不涉及 **默认取值：** false                                                                                                                                                                                                                                                                                                                                                                                             |
| concurrentParticipants   | 否    | int                    | **参数解释：** 会议最大与会人数 **约束限制：** 不涉及 **取值范围：** - 0：无限制  - 大于0：会议最大与会人数   **默认取值：** 0                                                                                                       |
| confResType              | 否    | ConfResType            | **参数解释：** 会议资源类型 CONF_RESTYPE_DEFAULT(0, "默认") CONF_RESTYPE_SHARE_VMR(3, "共享vmr") **约束限制：** - 共享VMR需要传ConfResType.CONF_RESTYPE_SHARE_VMR  - 非共享VMR可不传此参数   **默认取值：** CONF_RESTYPE_DEFAULT |
| autoMuteMode             | 否    | AutoMuteType           | **参数解释：** 个人客户端入会是否自动静音 AUTO_MUTE_TYPE_DEFAULT(0, "默认") AUTO_MUTE_TYPE_MUTE(1, "静音") AUTO_MUTE_TYPE_UNMUTE(2, "非静音") **约束限制：** 不涉及 **默认取值：** AUTO_MUTE_TYPE_DEFAULT                                                                                                                                                          |
| hardTerminalAutoMuteMode | 否    | AutoMuteType           | **参数解释：** 会议室设备入会是否自动静音 AUTO_MUTE_TYPE_DEFAULT(0, "默认") AUTO_MUTE_TYPE_MUTE(1, "静音") AUTO_MUTE_TYPE_UNMUTE(2, "非静音") **约束限制**： 不涉及 **默认取值**： AUTO_MUTE_TYPE_DEFAULT                                                                                                                                                           |
| defaultSummaryState      | 否    | SummaryState           | **参数解释：** 录制时，智能会议纪要的默认状态 SUMMARY_STATE_CLOSE(0, "会议纪要关闭") SUMMARY_STATE_OPEN(1, "会议纪要开启") **约束限制：** 仅企业配置支持智能会议纪要时生效（corpEnableSummary），参考[6.5.3.6-企业配置变更](https://support.huaweicloud.com/sdkreference-meeting/toctopics/zh-cn_topic_0000002331495312.html) **默认取值：** SUMMARY_STATE_CLOSE                                                                     |
| autoPublishSummary       | 否    | boolean                | **参数解释：** 是否自动发布纪要（免人工审核） **约束限制**： 不涉及 **默认取值**： false                                                                                                                                                                                                                                                                                                                                                                                           |
   
**示例代码**
```
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() {
        
    }
});
```
