更新时间:2025-07-28 GMT+08:00

发起立即会议

startP2PConf

HWMSdk.getOpenApi(getActivity().getApplication()).startP2PConf(StartP2PConfParam createConfParam, HwmCancelableCallBack<ConfInfo> callback);

接口描述

该接口用于发起立即会议。

注意事项

企业开启新P2P功能才使用此接口。

方法定义

1
2
3
4
5
6
7
/**
* 创建立即会议
*
* @param createConfParam 创建立即会议参数配置
* @param callback        结果回调
*/
void startP2PConf(StartP2PConfParam createConfParam, HwmCancelableCallBack<ConfInfo> callback);

参数描述

表1 参数说明

参数

是否必须

类型

描述

createConfParam

StartP2PConfParam

创建立即会议参数配置。

callback

HwmCancelableCallBack

创建立即会议结果回调。

返回值

参数拓展

表2 StartP2PConfParam 说明

参数

是否必须

类型

描述

callerInfo

CallerInfo

主叫信息。

calleeInfo

CalleeInfo

被叫信息。

meetingType

MeetingType

参数解释:

会议媒体类型

CONF_AUDIO(0, "语音会议")

CONF_VIDEO(1, "视频会议")

约束限制:

不涉及

默认取值:

CONF_AUDIO

isGuestJoinConfWithoutPwd

boolean

参数解释:

是否来宾免密码入会

约束限制:

不涉及

默认取值:

false

confAllowJoinUser

JoinConfPermissionType

参数解释:

允许入会的用户类型

PERMIT_EVERYONE(0, "允许所有人入会")

PERMIT_ENTERPRISE_USER(2, "仅允许企业内人员入会")

PERMIT_INVITED_USER(3, "仅允许会议邀请人员入会")

约束限制:

不涉及

默认取值:

PERMIT_EVERYONE

isSpeakerOff

boolean

参数解释:

是否关闭扬声器,切换到听筒

约束限制:

不涉及

默认取值:

false

表3 CallerInfo说明

参数

是否必须

类型

描述

nickName

String

参数解释:

主叫名称

约束限制

不涉及

取值范围

0-256个字符

默认取值

不涉及

orgId

String

参数解释:

企业ID

约束限制

不涉及

默认取值

不涉及

表4 CalleeInfo说明

参数

是否必须

类型

描述

nickName

String

参数解释:

被叫名称

约束限制

不涉及

取值范围

0-256个字符

默认取值

不涉及

number

String

参数解释:

被叫号码

约束限制

如果填分配给账号的sip号码(如+99111244216210249)则呼叫该账号的App;如果填PSTN号码(如18700000000),则通过VoIP网关呼叫该号码,前提是该企业已开通PSTN呼叫权限。与thirdUserId二选一,账号密码鉴权时使用

默认取值

不涉及

thirdUserId

String

参数解释:

第三方用户ID

约束限制

与number二选一,App ID鉴权时使用

默认取值

不涉及

orgId

String

参数解释:

企业ID

约束限制

不涉及

默认取值

不涉及

hwmP2PAttendeeType

HwmP2PAttendeeType

参数解释:

被叫与会者类型

ATTENDEE_TYPE_NORMAL(0, "会议软终端用户")

ATTENDEE_TYPE_MOBILE(5, "用户手机号码入会")

约束限制

不涉及

默认取值

HWM_ATTENDEE_TYPE_NORMAL

表5 HwmP2PAttendeeType 说明

枚举值

描述

ATTENDEE_TYPE_NORMAL

会议软终端用户。

ATTENDEE_TYPE_MOBILE

用户手机号码入会。

示例代码

 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
private void startP2PConf() {
    showLoading();
    boolean isVideo = !audioBtn.isChecked();
    StartP2PConfParam startP2PConfParam = new StartP2PConfParam();
    startP2PConfParam.setCallerInfo(genP2PConfCaller());
    startP2PConfParam.setCalleeInfo(genP2PConfCallee());
    startP2PConfParam.setMeetingType(isVideo ? MeetingType.CONF_VIDEO : MeetingType.CONF_AUDIO);
    HWMSdk.getOpenApi(getActivity().getApplication()).startP2PConf(startP2PConfParam, new HwmCancelableCallBack<ConfInfo>() {
        @Override
        public void onSuccess(ConfInfo confInfo) {
            Log.i(TAG, "startP2PConf success");
            doDismissDialogAndFragment();
        }

        @Override
        public void onFailed(int retCode, String desc) {
            HCLog.i(TAG, "startP2PConf onFailed" + retCode + " " + desc);
            dismissLoading();
            DemoUtil.showToast("新立即会议发起失败:" + retCode + ", desc: " + desc);
        }

        @Override
        public void onCancel() {
            HCLog.i(TAG, "startP2PConf onCancel");
            dismissLoading();
        }
    });
}