更新时间:2023-03-23 GMT+08:00

自定义会中UI行为通知

在OpenSDKConfig中配置会议UI页面变更相关的通知监听

入会的时候UI创建,离会的时候销毁UI

使用场景

入会场景:onConfDetailNotify

离会场景:onConfEnded、onLeaveConf

点对点呼叫结束场景:onCallEnded

注意事项

SDK初始化的时候必须传入这个配置sdkConfig才会生效

示例代码

 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
public class CustomNotifyHandler implements CLMNotifyHandler {
    /**
     * 呼叫结束后,会收到该通知
     * @param callInfo 呼叫信息
     */
    @Override
    public void onCallEnded(CallInfo callInfo) {
        Log.i(TAG, "呼叫结束了");
    }
 
    @Override
    public void onConfDetailNotify(ConfInfo confInfo) {
        Log.i(TAG, "confInfo: confId" + confInfo.getConfId() + ", Subject:" + confInfo.getConfSubject());
    }
 
    /**
     * 会议结束后,会收到通知
     * @param result 会议结束后的错误码
     */
    @Override
    public void onConfEnded(ConfEndedReason result) {
        Log.i(TAG, "会议已结束");
    }
 
    @Override
    public void onLeaveConf(int result) {
        Log.i(TAG, "您已离开会议");
    }
}
sdkConfig.setNotifyHandler(new CustomNotifyHandler());

离开会议通知

接口描述

主动离会、加入会议失败、重呼失败,收到该通知。

方法定义

1
2
3
4
    /**
     * 离开会议的通知
     */
    void onLeaveConf(int result);

参数描述

表1 参数说明

参数

是否必须

类型

描述

result

int

离会原因

Constants.LEAVE_CONF_MODE.LEAVE_NORMAL = 7; //正常离会

Constants.LEAVE_CONF_MODE.LEAVE_OF_NOSTREAM = 8; //无码流重连后离会

Constants.LEAVE_CONF_MODE.LEAVE_OF_OUTNET = 9; //断网重连后离会

Constants.LEAVE_CONF_MODE.LEAVE_OF_TLS_UNESTABLISH = 10; //tls闪断

Constants.LEAVE_CONF_MODE.LEAVE_OF_OUTNET_TIMEOUT = 14; //断网重连超时离会

返回值

无。

会议结束通知

接口描述

会议结束收到该通知。

方法定义

1
2
3
4
5
6
    /**
     * 会议结束该后,会收到通知
     *
     * @param reason 会议结束后的错误码
     */
    void onConfEnded(ConfEndedReason reason);

参数描述

表2 参数说明

参数

是否必须

类型

描述

reason

ConfEndedReason

结束错误码枚举

返回值

无。

参数拓展

表3 枚举ConfEndedReason说明

参数

类型

描述

LEAVE_CONF_HANGUP

enum

离开会议

STOP_CONF_HANDUP

enum

会议已经结束

REMOVE_BY_CHAIRMAN_HANDUP

enum

被主持人移出会场

TIMEOUT

enum

网络中断

NO_STREAM_HANDUP

enum

网络异常

CORP_CONFERENCE_RESOURCE_HAS_BEEN_RUN_OUT

enum

企业资源已达上限

UNKONWN

enum

未知原因

会议详情通知

接口描述

获取会议详情收到该通知,入会的时候会收到一次。

方法定义

1
2
3
4
5
6
    /**
     * 会议详情的上报
     *
     * @param confInfo
     */
    void onConfDetailNotify(ConfInfo confInfo);

参数描述

表4 参数说明

参数

是否必须

类型

描述

confInfo

ConfInfo

会议信息

返回值

无。

参数拓展

表5 ConfInfo参数说明

参数

是否必须

类型

描述

confSubject

String

会议主题

confId

String

会议ID

vmrConferenceId

String

个人会议ID

confPwd

String

入会密码

confAccessNum

String

接入号

confChairPwd

String

主持人密码

confGuestUri

String

guest入会uri

confStartTime

String

会议开始时间

confEndTime

String

会议结束时间

confScheduserName

String

创建者名字

confOrgId

String

判断是否外部用户

mediaType

int

会议类型

CONF_MEDIA_TYPE_AUDIO = 1; 音频

CONF_MEDIA_TYPE_VIDEO = 2; 视频

CONF_MEDIA_TYPE_HDVIDEO = 4; 高清视频

CONF_MEDIA_TYPE_DATA = 16; 数据

呼叫结束通知

接口描述

点对点呼叫结束收到该通知。

方法定义

1
2
3
4
5
6
    /**
     * 呼叫结束后,会收到该通知
     *
     * @param callInfo 呼叫信息
     */
    void onCallEnded(CallInfo callInfo);

参数描述

表6 参数说明

参数

是否必须

类型

描述

callInfo

CallInfo

呼叫信息

返回值

无。

参数拓展

表7 CallInfo参数说明

参数

是否必须

类型

描述

peerInfo

PeerInfo

点对点呼叫对方信息

startTime

long

开始时间

endTime

long

结束时间

callType

int

呼叫类型:

  • 0:语音呼叫
  • 1:视频呼叫

callState

int

主被叫状态:

  • 1:被叫
  • 2:主叫

isCallSuccess

boolean

是否成功建立呼叫

missReason

int

呼叫未成功建立的原因:

  • 0:被叫未接听
  • 1:被叫拒接

isEncryptCall

boolean

音视频数据是否加密

isCalleeBusy

boolean

被叫方是否忙碌

表8 PeerInfo参数说明

参数

是否必须

类型

描述

peerName

String

对方成员名称

peerNumber

String

对方成员号码

peerAccount

String

对方成员账号

peerUuid

String

对方成员的uuid

peerThirdAccount

String

第三方账号