智慧服务,成就美好体验 项目咨询

主页 > 服务与支持 > 开发平台 > 客户端SDK参考 > Android Native SDK > 附录 事件通知

入门使用

事件通知

更新时间:2019-12-10

所有的事件通知都属于TsdkNotify(业务事件通知接口类)。

表1 登录事件通知

接口名称

接口描述

onEvtAuthSuccess

鉴权成功。

onEvtAuthFailed

鉴权失败。

onEvtAuthRefreshFailed

鉴权刷新失败。

onEvtLoginSuccess

登录成功。

onEvtLoginFailed

登录失败。

onEvtLogoutSuccess

登出成功。

onEvtLogoutFailed

登出失败。

onEvtForceLogout

强制登出通知(帐号被踢)。

onEvtVoipAccountStatus

VoIP帐号状态信息。

onEvtFirewallDetectFailed

防火墙探测失败。

onEvtBuildStgTunnelFailed

创建stg通道失败。

onEvtSecurityTunnelInfoInd

安全隧道信息通知。

onEvtModifyPasswordResult

密码修改结果。

onEvtLoginResumingInd

登录状态恢复中通知。

onEvtLoginResumeResult

登录状态恢复结果。

表2 音视频呼叫通知

接口名称

接口描述

onEvtCallStartResult

呼叫结果

onEvtCallIncoming

来电事件

onEvtCallOutgoing

呼出事件

onEvtCallRingback

回铃音事件

onEvtCallRtpCreated

RTP创建事件

onEvtCallConnected

通话建立事件

onEvtCallEnded

通话结束

onEvtCallDestroy

呼叫销毁事件

onEvtOpenVideoReq

音频转视频请求

onEvtRefuseOpenVideoInd

远端拒绝音频转视频

onEvtCloseVideoInd

关闭视频(视频转音频)通知

onEvtOpenVideoInd

打开视频(音频转视频)通知

onEvtRefreshViewInd

刷新窗口信息通知

onEvtCallRouteChange

呼叫路由变更通知

onEvtPlayMediaEnd

音频文件播放结束通知

onEvtSessionModified

会话修改完成通知

onEvtSessionCodec

会话正在使用的codec通知

onEvtHoldSuccess

呼叫保持成功事件

onEvtHoldFailed

呼叫保持失败事件

onEvtUnholdSuccess

取消呼叫保持成功事件

onEvtUnholdFailed

取消呼叫保持失败事件

onEvtEndcallFailed

结束呼叫失败事件

onEvtDivertFailed

偏转失败事件

onEvtBldTransferSuccess

盲转成功事件

onEvtBldTransferFailed

盲转失败事件

onEvtStatisticInfo

呼叫统计信息上报

表3 会议事件通知

接口名称

接口描述

onEvtBookConfResult

预约会议结果

onEvtQueryConfListResult

查询会议列表结果

onEvtQueryConfDetailResult

查询会议详情结果

onEvtJoinConfResult

加入会议结果

onEvtGetDataconfParamResult

获取数据会议入会参数结果

onEvtConfctrlOperationResult

会控操作结果

onEvtInfoAndStatusUpdate

会议信息及状态更新

onEvtSpeakerInd

获取发言方通知

onEvtRequestConfRightFailed

申请会控权限失败

onEvtConfIncomingInd

会议来电通知

onEvtConfEndInd

会议结束通知

onEvtJoinDataConfResult

加入数据会议结果

onEvtAsStateChange

应用共享状态通知

onEvtAsOwnerChange

共享者变更通知。

onEvtDsDocNew

新建共享文档通知

onEvtDsDocDel

删除共享文档通知

onEvtWbDocNew

新建白板文档通知

onEvtDsDocDel

删除白板文档通知

onEvtRecvChatMsg

聊天消息通知

onEvtGetTempUserResult

获取临时帐号结果

onEvtTransToConfResult

呼叫转成会议结果

onEvtSvcWatchInfoInd

SVC(多流)会议下正在观看画面信息通知

onEvtShareStatisticInfo

共享统计信息上报

onEvtConfResumingInd

会议恢复中通知

onEvtConfResumeResult

会议恢复(重新加入)结果

表4 企业通讯录事件通知

接口名称

接口描述

onEvtSearchContactsResult

查询联系人结果。

onEvtGetIconResult

获取头像结果。

onEvtAuthSuccess

接口描述

鉴权成功。

注意事项

用于呈现登录过程,应用层一般无需处理。

方法定义

void onEvtAuthSuccess(long userId, TsdkImLoginParam imLoginParam); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

imLoginParam

TsdkImLoginParam

IM帐号信息参数,用于支持原子级IM SDK兼容,只要鉴权结果中存在就返回。

返回值

无。

代码示例

//Java code
public void onEvtAuthSuccess(int userId, TsdkImLoginParam imAccountLoginParam) {
    LogUtil.e(TAG, "authorize success.");
    // 启动IM的登录
    if (TsdkManager.getInstance().getAppInfo().getSupportIm() == 1 && null != imLoginParam) {
        ImAccountInfo imAccountInfo = new ImAccountInfo();
        imAccountInfo.setAccount(imLoginParam.getAccount());
        imAccountInfo.setToken(imLoginParam.getToken());
        String[] MaaUri = imLoginParam.getMaaServerUri().split(":");
        imAccountInfo.setMaaServer(MaaUri[0]);
        imAccountInfo.setMaaServerPort(Integer.valueOf(MaaUri[1]));
        imAccountInfo.setPassword(imLoginParam.getPassword());
        imAccountInfo.setPushServer(imLoginParam.getPushServerUri());

        sendHandlerMessage(LoginEvent.LOGIN_E_EVT_AUTH_SUCCESS.getIndex(), imAccountInfo);
    }
}
 

onEvtAuthFailed

接口描述

鉴权失败。

注意事项

无。

方法定义

void onEvtAuthFailed(long userId, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

结果。

userId

long

用户ID。

返回值

无。

代码示例

//Java code
public void onEvtAuthFailed(int userId, TsdkCommonResult result) {
    LogUtil.e(TAG, "authorize failed: " + result.getReasonDescription());
    this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.LOGIN_FAILED, result.getResult(), result.getReasonDescription());
}
 

onEvtAuthRefreshFailed

接口描述

鉴权刷新失败。

注意事项

无。

方法定义

void onEvtAuthRefreshFailed(long userId, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

结果。

userId

long

用户ID。

返回值

无。

代码示例

//Java code
public void onEvtAuthRefreshFailed(int userId, TsdkCommonResult result) {
    LogUtil.e(TAG, "refresh token failed:" + result.getReasonDescription());

    this.logout();
    this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.LOGOUT, 0, result.getReasonDescription());

}
 

onEvtLoginSuccess

接口描述

登录成功。

注意事项

无。

方法定义

void onEvtLoginSuccess(long userId, TsdkServiceAccountType serviceAccountType, TsdkLoginSuccessInfo loginSuccessInfo);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

serviceAccountType

TsdkServiceAccountType

服务帐号类型。

loginSuccessInfo

TsdkLoginSuccessInfo

登录成功信息。

返回值

无。

代码示例

//Java code
public void onEvtLoginSuccess(int userId, TsdkServiceAccountType serviceAccountType, TsdkLoginSuccessInfo loginSuccessInfo) {
        Log.i(TAG, "onEvtLoginSuccess notify.");
        LoginMgr.getInstance().handleLoginSuccess(userId, serviceAccountType, loginSuccessInfo);
    }
 

onEvtLoginFailed

接口描述

登录失败。

注意事项

无。

方法定义

void onEvtLoginFailed(long userId, TsdkServiceAccountType serviceAccountType, TsdkLoginFailedInfo loginFailedInfo);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

serviceAccountType

TsdkServiceAccountType

服务帐号类型。

loginFailedInfo

TsdkLoginFailedInfo

登录失败信息。

返回值

无。

代码示例

//Java code
public void onEvtLoginFailed(int userId, TsdkServiceAccountType serviceAccountType, TsdkLoginFailedInfo loginFailedInfo) {
        Log.i(TAG, "onEvtLoginFailed notify.");
        LoginMgr.getInstance().handleLoginFailed(userId, serviceAccountType, loginFailedInfo);
    }
 

onEvtLogoutSuccess

接口描述

登出成功。

注意事项

无。

方法定义

void onEvtLogoutSuccess(long userId, TsdkServiceAccountType serviceAccountType); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

serviceAccountType

TsdkServiceAccountType

服务帐号类型。

返回值

无。

代码示例

//Java code
public void onEvtLogoutSuccess(int userId, TsdkServiceAccountType serviceAccountType) {
        Log.i(TAG, "onEvtLogoutSuccess notify.");
        LoginMgr.getInstance().handleLogoutSuccess(userId, serviceAccountType);
    }
 

onEvtLogoutFailed

接口描述

登出失败。

注意事项

无。

方法定义

void onEvtLogoutFailed(long userId, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
public void handleLogoutFailed(int userId, TsdkCommonResult result) {
        LogUtil.e(TAG, "logout failed: " + result.getReasonDescription());
    }
 

onEvtForceLogout

接口描述

强制登出通知(帐号被强制登出)。

注意事项

无。

方法定义

void onEvtForceLogout(long userId, TsdkServiceAccountType serviceAccountType, TsdkForceLogoutInfo forceLogoutInfo); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

serviceAccountType

TsdkServiceAccountType

服务帐号类型。

forceLogoutInfo

TsdkForceLogoutInfo

强制登出信息。

返回值

无。

代码示例

//Java code
public void onEvtForceLogout(int userId, TsdkServiceAccountType serviceAccountType, TsdkForceLogoutInfo forceLogoutInfo) {
        Log.i(TAG, "onEvtForceLogout notify.");
        LoginMgr.getInstance().handleForceLogout(userId);
    }
 

onEvtVoipAccountStatus

接口描述

VoIP帐号状态信息。

注意事项

无。

方法定义

void onEvtVoipAccountStatus(long userId, TsdkVoipAccountInfo voipAccountInfo); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

voipAccountInfo

TsdkVoipAccountInfo

VoIP帐号信息。

返回值

无。

代码示例

//Java code
public void onEvtVoipAccountStatus(int userId, TsdkVoipAccountInfo voipAccountInfo ) {
    LogUtil.e(TAG, "voip account status: " );

    this.sipNumber = voipAccountInfo.getNumber();
    if (!voipAccountInfo.getTerminal().equals("")) {
        this.terminal = voipAccountInfo.getTerminal();
    }
}
 

onEvtFirewallDetectFailed

接口描述

防火墙探测失败。

注意事项

无。

方法定义

void onEvtFirewallDetectFailed(long userId, TsdkCommonResult result);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
public void handleFirewallDetectFailed(int userId, TsdkCommonResult result) {
        LogUtil.e(TAG, "firewall detect failed: " + result.getReasonDescription());
        this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.FIREWALL_DETECT_FAILED, result.getResult(), result.getReasonDescription());
    }
 

onEvtBuildStgTunnelFailed

接口描述

创建STG通道失败。

注意事项

无。

方法定义

void onEvtBuildStgTunnelFailed(long userId, TsdkCommonResult result);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
public void handleBuildStgTunnelFailed(int userId, TsdkCommonResult result) {
        LogUtil.e(TAG, "build stg failed: " + result.getReasonDescription());
        this.loginEventNotifyUI.onLoginEventNotify(LoginConstant.LoginUIEvent.BUILD_STG_FAILED, result.getResult(), result.getReasonDescription());
    }
 

onEvtSecurityTunnelInfoInd

接口描述

安全隧道信息通知。

注意事项

无。

方法定义

void onEvtSecurityTunnelInfoInd(long userId, long firewallMode, TsdkSecurityTunnelInfo securityTunnelInfo); 
 

参数描述

参数名

类型

描述

userId

long

用户ID。

firewallMode

long

防火墙模式。

securityTunnelInfo

TsdkSecurityTunnelInfo

安全隧道信息。

返回值

无。

代码示例

//Java code
public void handleSecurityTunnelInfoInd(int userId, int firewallMode, TsdkSecurityTunnelInfo securityTunnelInfo) {
        LogUtil.i(TAG, "security tunnel info: " + userId + firewallMode);

    }
 

onEvtModifyPasswordResult

接口描述

密码修改结果。

注意事项

无。

方法定义

void onEvtModifyPasswordResult(long userId, TsdkCommonResult result);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
@Override
public void onEvtModifyPasswordResult(int userId, final TsdkCommonResult result) {
	Log.i(TAG, "onEvtModifyPasswordResult notify.");
	LoginMgr.getInstance().handModifyPasswordResult(result);
}
 

onEvtLoginResumingInd

接口描述

登录状态恢复中通知(一般在网络发生变化时触发)。

注意事项

无。

方法定义

void onEvtLoginResumingInd(long userId);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

返回值

无。

代码示例

//Java code
@Override
public void onEvtLoginResumingInd(long userId) {
	LogUtil.i(TAG, "onEvtLoginResumingInd notify.");
	LoginMgr.getInstance().handLoginResumingInd((int)userId);
}
 

onEvtLoginResumeResult

接口描述

登录状态恢复结果。

注意事项

无。

方法定义

void onEvtLoginResumeResult(long userId, TsdkCommonResult result);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
@Override
public void onEvtLoginResumeResult(long userId, TsdkCommonResult result) {
	LogUtil.i(TAG, "onEvtLoginResumeResult notify.");
	LoginMgr.getInstance().handLoginResumeResult(result);
}
 

onEvtCallStartResult

接口描述

呼叫结果。

注意事项

无。

方法定义

void onEvtCallStartResult(TsdkCall call, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

结果。

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
None
 

onEvtCallIncoming

接口描述

来电事件。

注意事项

无。

方法定义

void onEvtCallIncoming(TsdkCall call, Boolean maybeVideoCall); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

maybeVideoCall

Boolean

是否是视频。

返回值

无。

代码示例

//Java code
public void onEvtCallIncoming(TsdkCall call, Boolean maybeVideoCall){
    Log.i(TAG, "onCallComing");
    if (null == call)
    {
        Log.e(TAG, "onCallComing call is null");
        return;
    }
    Session newSession = new Session(call);
    putCallSessionToMap(newSession);

    CallInfo callInfo = getCallInfo(call);
    callInfo.setMaybeVideoCall(maybeVideoCall);

    mCallNotification.onCallEventNotify(CallConstant.CallEvent.CALL_COMING, callInfo);
}
 

onEvtCallOutgoing

接口描述

呼出事件。

注意事项

无。

方法定义

void onEvtCallOutgoing(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallOutgoing(TsdkCall call){
    Log.i(TAG, "onCallGoing");
    if (null == call)
    {
        Log.e(TAG, "tupCall obj is null");
        return;
    }
    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.CALL_GOING, callInfo);
}
 

onEvtCallRingback

接口描述

回铃音事件。

注意事项

在需要APP播放回铃音时上报

方法定义

void onEvtCallRingback(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallRingback(TsdkCall call){
    Log.i(TAG, "onCallRingBack");
    if (null == call)
    {
        Log.e(TAG, "onCallRingBack call is null");
        return;
    }
        if (null != mCallNotification)
        {
            mCallNotification.onCallEventNotify(CallConstant.CallEvent.PLAY_RING_BACK_TONE, null);
        }
}
 

onEvtCallRtpCreated

接口描述

RTP创建事件。

注意事项

RTP通道已建立,可以进行二次拨号

方法定义

void onEvtCallRtpCreated(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallRtpCreated(TsdkCall call){
    Log.i(TAG, "onCallRTPCreated");
    if (null == call)
    {
        Log.e(TAG, "tupCall obj is null");
        return;
    }

    CallInfo callInfo = getCallInfo(call);

    mCallNotification.onCallEventNotify(CallConstant.CallEvent.RTP_CREATED, callInfo);
}
 

onEvtCallConnected

接口描述

通话建立事件。

注意事项

无。

方法定义

void onEvtCallConnected(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallConnected(TsdkCall call){
    Log.i(TAG, "onCallConnected");
    if (null == call)
    {
        Log.e(TAG, "call obj is null");
        return;
    }

    CallInfo callInfo = getCallInfo(call);
    Session callSession = getCallSessionByCallID(call.getCallInfo().getCallId());
    if (callSession == null)
    {
        Log.e(TAG, "call session obj is null");
        return;
    }

    if (callInfo.isVideoCall())
    {
        callSession.setCallStatus(CallConstant.CallStatus.VIDEO_CALLING);
    }
    else
    {
        callSession.setCallStatus(CallConstant.CallStatus.AUDIO_CALLING);
    }

    mCallNotification.onCallEventNotify(CallConstant.CallEvent.CALL_CONNECTED, callInfo);
}
 

onEvtCallEnded

接口描述

通话结束。

注意事项

无。

方法定义

void onEvtCallEnded(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallEnded(TsdkCall call){
    Log.i(TAG, "onCallEnded");
    if (null == call)
    {
        Log.e(TAG, "onCallEnded call is null");
        return;
    }
    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.CALL_ENDED, callInfo);
}
 

onEvtCallDestroy

接口描述

呼叫销毁事件。

注意事项

无。

方法定义

void onEvtCallDestroy(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCallDestroy(TsdkCall call){
    Log.i(TAG, "onCallDestroy");
    if (null == call)
    {
        Log.e(TAG, "call obj is null");
        return;
    }
    Session callSession = getCallSessionByCallID(call.getCallInfo().getCallId());
    if (callSession == null)
    {
        Log.e(TAG, "call session obj is null");
        return;
    }

    //从会话列表中移除一路会话
    removeCallSessionFromMap(callSession);
}
 

onEvtOpenVideoReq

接口描述

远端请求打开视频(音频通话升级为视频通话)。

注意事项

无。

方法定义

void onEvtOpenVideoReq(TsdkCall call, TsdkVideoOrientation orientType); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

orientType

TsdkVideoOrientation

视频方向(横竖屏状态)。

返回值

无。

代码示例

//Java code
public void onEvtOpenVideoReq(TsdkCall call, TsdkVideoOrientation orientType){
    Log.i(TAG, "onCallAddVideo");
    if (null == call)
    {
        Log.e(TAG, "onCallAddVideo tupCall is null");
        return;
    }

    //音频转视频
    Session callSession = getCallSessionByCallID(call.getCallInfo().getCallId());
    if (callSession == null)
    {
        Log.e(TAG, "call session obj is null");
        return;
    }

    CallConstant.CallStatus callStatus = callSession.getCallStatus();
    boolean isSupportVideo = isSupportVideo();

    if ((!isSupportVideo) || (CallConstant.CallStatus.AUDIO_CALLING != callStatus))
    {
        callSession.rejectAddVideo();
        return;
    }

    mCallNotification.onCallEventNotify(CallConstant.CallEvent.RECEIVED_REMOTE_ADD_VIDEO_REQUEST, null);

}
 

onEvtRefuseOpenVideoInd

接口描述

远端拒绝音频转视频。

注意事项

远端拒绝请求打开视频通知(远端用户拒绝或超时未响应)

方法定义

void onEvtRefuseOpenVideoInd(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtRefuseOpenVideoInd(TsdkCall call){

    VideoMgr.getInstance().clearCallVideo();

    Session callSession = getCallSessionByCallID(call.getCallInfo().getCallId());
    callSession.setCallStatus(CallConstant.CallStatus.AUDIO_CALLING);

    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.REMOTE_REFUSE_ADD_VIDEO_SREQUEST, callInfo);

}
 

onEvtCloseVideoInd

接口描述

关闭视频(视频转音频)通知。

注意事项

无。

方法定义

void onEvtCloseVideoInd(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtCloseVideoInd(TsdkCall call){
    if (null == call)
    {
        Log.e(TAG, "onCallDelVideo tupCall is null");
        return;
    }

    Session callSession = getCallSessionByCallID(call.getCallInfo().getCallId());
    if (callSession == null)
    {
        Log.e(TAG, "call session obj is null");
        return;
    }

    callSession.setCallStatus(CallConstant.CallStatus.AUDIO_CALLING);

    //Clear video data
    VideoMgr.getInstance().clearCallVideo();

    if (null != mCallNotification)
    {
        CallInfo callInfo = getCallInfo(call);
        mCallNotification.onCallEventNotify(CallConstant.CallEvent.CLOSE_VIDEO, callInfo);
    }

    if (callSession.isVideoHold())
    {
        callSession.holdCall();
    }
}
 

onEvtOpenVideoInd

接口描述

打开视频(音频转视频)通知。

注意事项

无。

方法定义

void onEvtOpenVideoInd(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtOpenVideoInd(TsdkCall call){
    int isVideo = call.getCallInfo().getIsVideoCall(); // 1:video, 0: audio
    int callId  = call.getCallInfo().getCallId();
    Log.i(TAG,  "isVideo: " + isVideo + "callId: " + callId);

    Session callSession = getCallSessionByCallID(callId);
    if (callSession == null)
    {
        return;
    }
    CallInfo callInfo = getCallInfo(call);//audio --> video success
    Log.i(TAG, "Upgrade To Video Call");
    VideoMgr.getInstance().setVideoOrient(callId, CallConstant.FRONT_CAMERA);

    callSession.setCallStatus(CallConstant.CallStatus.VIDEO_CALLING);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.OPEN_VIDEO, callInfo);
}
 

onEvtRefreshViewInd

接口描述

刷新窗口信息通知。

注意事项

无。

方法定义

void onEvtRefreshViewInd(TsdkCall call, TsdkVideoViewRefresh refreshInfo); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

refreshInfo

TsdkVideoViewRefresh

视频刷新事件信息。

返回值

无。

代码示例

//Java code
public void onEvtRefreshViewInd(TsdkCall call, TsdkVideoViewRefresh refreshInfo){
    Log.i(TAG, "refreshLocalView");
    int mediaType = refreshInfo.getViewType();
    int eventType = refreshInfo.getEvent();
    int callId = call.getCallInfo().getCallId();

    switch (mediaType)
    {
        case 1: //local video preview
        case 2: //general video
            if (eventType == 1) //add local view
            {
                //VideoDeviceManager.getInstance().refreshLocalVideo(true, callId);
                mCallNotification.onCallEventNotify(CallConstant.CallEvent.ADD_LOCAL_VIEW, callId);
            }
            else //remove local view
            {
                //VideoDeviceManager.getInstance().refreshLocalVideo(false, callId);
                mCallNotification.onCallEventNotify(CallConstant.CallEvent.DEL_LOCAL_VIEW, callId);
            }
            break;

        case 3: //auxiliary data
            break;

        default:
            break;
    }

}
 

onEvtCallRouteChange

接口描述

呼叫路由变更通知。

注意事项

主要用于iOS

方法定义

void onEvtCallRouteChange(TsdkCall call, long route); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

route

long

路由下标。

返回值

无。

代码示例

//Java code
None
 

onEvtPlayMediaEnd

接口描述

音频文件播放结束通知。

注意事项

无。

方法定义

void onEvtPlayMediaEnd(long handle); 
 

参数描述

参数名

类型

描述

handle

long

文件句柄。

返回值

无。

代码示例

//Java code
None
 

onEvtSessionModified

接口描述

会话修改完成通知。

注意事项

无。

方法定义

void onEvtSessionModified(TsdkCall call, TsdkSessionModified sessionInfo); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

sessionInfo

TsdkSessionModified

会话修改完成结果信息。

返回值

无。

代码示例

//Java code
None
 

onEvtSessionCodec

接口描述

会话正在使用的codec通知。

注意事项

无。

方法定义

void onEvtSessionCodec(TsdkCall call, TsdkSessionCodec codecInfo); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

codecInfo

TsdkSessionCodec

会话正在使用的编解码器信息。

返回值

无。

代码示例

//Java code
None
 

onEvtHoldSuccess

接口描述

呼叫保持成功事件。

注意事项

无。

方法定义

void onEvtHoldSuccess(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtHoldSuccess(TsdkCall call){
    Log.i(TAG, "handleHoldSuccess");
    CallInfo callInfo = getCallInfo(call);
    Session callSession = getCallSessionByCallID(callInfo.getCallID());
    if (callSession.isVideoHold())
    {
        mCallNotification.onCallEventNotify(CallConstant.CallEvent.VIDEO_HOLD_SUCCESS, callInfo);
    }
    else
    {
        mCallNotification.onCallEventNotify(CallConstant.CallEvent.AUDIO_HOLD_SUCCESS, callInfo);
    }
}
 

onEvtHoldFailed

接口描述

呼叫保持失败事件。

注意事项

无。

方法定义

void onEvtHoldFailed(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtHoldFailed(TsdkCall call){
    Log.i(TAG, "handleHoldFailed");
    CallInfo callInfo = getCallInfo(call);
    Session callSession = getCallSessionByCallID(callInfo.getCallID());
    if (callSession.isVideoHold())
    {
        callSession.setVideoHold(false);
        //保持失败,只直接通知UI失败,不自动恢复视频
        mCallNotification.onCallEventNotify(CallConstant.CallEvent.VIDEO_HOLD_FAILED, callInfo);
    }
    else
    {
        mCallNotification.onCallEventNotify(CallConstant.CallEvent.AUDIO_HOLD_FAILED, callInfo);
    }
}
 

onEvtUnholdSuccess

接口描述

取消呼叫保持成功事件。

注意事项

无。

方法定义

void onEvtUnholdSuccess(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtUnholdSuccess(TsdkCall call){
    Log.i(TAG, "handleUnholdSuccess");
    int callId = call.getCallInfo().getCallId();
    Session callSession = getCallSessionByCallID(callId);
    if (callSession == null)
    {
        Log.e(TAG, "call session obj is null");
        return;
    }

    //如果此保持发起时是“视频保持”,则再在“保持恢复”后,请求远端“增加视频”
    if (callSession.isVideoHold())
    {
        addVideo(callId);
        callSession.setVideoHold(false);
    }

    //调试音频
    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.UN_HOLD_SUCCESS, callInfo);
}
 

onEvtUnholdFailed

接口描述

取消呼叫保持失败事件。

注意事项

无。

方法定义

void onEvtUnholdFailed(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtUnholdFailed(TsdkCall call){
    Log.i(TAG, "handleUnholdFailed");

    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.UN_HOLD_FAILED, callInfo);
}
 

onEvtEndcallFailed

接口描述

结束呼叫失败事件。

注意事项

无。

方法定义

void onEvtEndcallFailed(TsdkCall call, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

结果。

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
None
 

onEvtDivertFailed

接口描述

偏转失败事件。

注意事项

无。

方法定义

void onEvtDivertFailed(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtDivertFailed(TsdkCall call){
    Log.i(TAG, "handleDivertFailed");

    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.DIVERT_FAILED, callInfo);
}
 

onEvtBldTransferSuccess

接口描述

盲转成功事件。

注意事项

无。

方法定义

void onEvtBldTransferSuccess(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtBldTransferSuccess(TsdkCall call){
    Log.i(TAG, "handleBldTransferSuccess");

    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.BLD_TRANSFER_SUCCESS, callInfo);
}
 

onEvtBldTransferFailed

接口描述

盲转失败事件。

注意事项

无。

方法定义

void onEvtBldTransferFailed(TsdkCall call); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

返回值

无。

代码示例

//Java code
public void onEvtBldTransferFailed(TsdkCall call){
    Log.i(TAG, "handleBldTransferFailed");

    CallInfo callInfo = getCallInfo(call);
    mCallNotification.onCallEventNotify(CallConstant.CallEvent.BLD_TRANSFER_FAILED, callInfo);
}
 

onEvtStatisticInfo

接口描述

呼叫统计信息上报。

注意事项

无。

方法定义

void onEvtStatisticInfo(TsdkCall call, long signalStrength, TsdkCallStatisticInfo statisticInfo); 
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

signalStrength

long

信号强度。

statisticInfo

TsdkCallStatisticInfo

统计信息。

返回值

无。

代码示例

//Java code
public void onEvtStatisticInfo(TsdkCall call, long signalStrength, TsdkCallStatisticInfo statisticInfo) {
	CallMgr.getInstance().handleUpDateCallStatisticInfo(signalStrength, statisticInfo);
}
 

onEvtBookConfResult

接口描述

预约会议结果。

注意事项

无。

方法定义

void onEvtBookConfResult(TsdkCommonResult result, TsdkConfBaseInfo confBaseInfo); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

操作结果。

confBaseInfo

TsdkConfBaseInfo

会议信息。

返回值

无。

代码示例

//Java code
public void handleBookConfResult(TsdkCommonResult result, TsdkConfBaseInfo confBaseInfo){
    Log.i(TAG, "onBookReservedConfResult");
    if ((result == null) || (confBaseInfo == null))
    {
        Log.e(TAG, "book conference is failed, unknown error.");
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.BOOK_CONF_FAILED, -1);
        return;
    }
    if (result.getResult() != TupConfParam.CONF_RESULT.TUP_SUCCESS)
    {
        Log.e(TAG, "book conference is failed, return ->" + result.getResult());
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.BOOK_CONF_FAILED, result.getResult());
        return;
    }
    Log.i(TAG, "book conference is success.");
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.BOOK_CONF_SUCCESS, result.getResult());
}
 

onEvtQueryConfListResult

接口描述

查询会议列表结果。

注意事项

无。

方法定义

void onEvtQueryConfListResult(TsdkCommonResult result, TsdkConfListInfo confList); 
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

操作结果。

confList

TsdkConfListInfo

会议列表信息。

返回值

无。

代码示例

//Java code
public void handleQueryConfListResult(TsdkCommonResult result, TsdkConfListInfo confList){
    Log.i(TAG, "onGetConfListResult");
    if (result == null)
    {
        Log.e(TAG, "get conference list is failed, unknown error.");
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_LIST_FAILED, -1);
        return;
    }
    else if (result.getResult() != 0)
    {
        Log.e(TAG, "get conference list is failed, return ->" + result.getReasonDescription());
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_LIST_FAILED, result.getResult());
        return;
    }
    List<ConfBaseInfo> confBaseInfoList = new ArrayList<>();
    List<TsdkConfBaseInfo> tsdkConfBaseInfos = confList.getConfInfoList();
    if (null != tsdkConfBaseInfos) {
        for (TsdkConfBaseInfo confInfo : tsdkConfBaseInfos) {
            ConfBaseInfo confBaseInfo = new ConfBaseInfo();
            confBaseInfo.setSize(confInfo.getSize());
            confBaseInfo.setConfID(confInfo.getConfId());
            confBaseInfo.setSubject(confInfo.getSubject());
            confBaseInfo.setAccessNumber(confInfo.getAccessNumber());
            confBaseInfo.setChairmanPwd(confInfo.getChairmanPwd());
            confBaseInfo.setGuestPwd(confInfo.getGuestPwd());
            confBaseInfo.setSchedulerNumber(confInfo.getScheduserAccount());
            confBaseInfo.setSchedulerName(confInfo.getScheduserName());
            confBaseInfo.setStartTime(confInfo.getStartTime());
            confBaseInfo.setEndTime(confInfo.getEndTime());
            confBaseInfo.setMediaType(ConfConvertUtil.convertConfMediaType(confInfo.getConfMediaType()));
            confBaseInfo.setConfState(ConfConvertUtil.convertConfctrlConfState(confInfo.getConfState()));
            confBaseInfoList.add(confBaseInfo);
        }
    }
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_LIST_SUCCESS, confBaseInfoList);
}
 

onEvtQueryConfDetailResult

接口描述

查询会议详情结果。

注意事项

无。

方法定义

void onEvtQueryConfDetailResult(TsdkCommonResult result, TsdkConfDetailInfo confDetailInfo);
 

参数描述

参数名

类型

描述

result

TsdkCommonResult

操作结果。

confDetailInfo

TsdkConfDetailInfo

会议详细信息。

返回值

无。

代码示例

//Java code
public void handleQueryConfDetailResult(TsdkCommonResult result, TsdkConfDetailInfo tsdkConfDetailInfo){
    Log.i(TAG, "onGetConfInfoResult");
    if ((result == null) || (tsdkConfDetailInfo == null))
    {
        Log.e(TAG, "get conference detail is failed, unknown error.");
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_DETAIL_FAILED, -1);
        return;
    }
    if (result.getResult() != TupConfParam.CONF_RESULT.TUP_SUCCESS)
    {
        Log.e(TAG, "get conference detail is failed, return ->" + result.getResult());
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_DETAIL_FAILED, result.getResult());
        return;
    }
    ConfDetailInfo confDetailInfo = new ConfDetailInfo();
    confDetailInfo.setSize(tsdkConfDetailInfo.getConfInfo().getSize());
    confDetailInfo.setConfID(tsdkConfDetailInfo.getConfInfo().getConfId());
    confDetailInfo.setSubject(tsdkConfDetailInfo.getConfInfo().getSubject());
    confDetailInfo.setAccessNumber(tsdkConfDetailInfo.getConfInfo().getAccessNumber());
    confDetailInfo.setChairmanPwd(tsdkConfDetailInfo.getConfInfo().getChairmanPwd());
    confDetailInfo.setGuestPwd(tsdkConfDetailInfo.getConfInfo().getGuestPwd());
    confDetailInfo.setSchedulerNumber(tsdkConfDetailInfo.getConfInfo().getScheduserAccount());
    confDetailInfo.setSchedulerName(tsdkConfDetailInfo.getConfInfo().getScheduserName());
    confDetailInfo.setStartTime(tsdkConfDetailInfo.getConfInfo().getStartTime());
    confDetailInfo.setEndTime(tsdkConfDetailInfo.getConfInfo().getEndTime());
    confDetailInfo.setMediaType(ConfConvertUtil.convertConfMediaType(tsdkConfDetailInfo.getConfInfo().getConfMediaType()));
    confDetailInfo.setConfState(ConfConvertUtil.convertConfctrlConfState(tsdkConfDetailInfo.getConfInfo().getConfState()));
    List<Member> memberList = ConfConvertUtil.convertAttendeeInfoList(tsdkConfDetailInfo.getAttendeeList());
    confDetailInfo.setMemberList(memberList);
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.QUERY_CONF_DETAIL_SUCCESS, confDetailInfo);
}
 

 

onEvtJoinConfResult

接口描述

加入会议结果。

注意事项

无。

方法定义

 void onEvtJoinConfResult(TsdkConference conference, TsdkCommonResult result, TsdkJoinConfIndInfo info);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkCommonResult

操作结果。

info

TsdkJoinConfIndInfo

会议接通信息。

返回值

无。

代码示例

//Java code
public void handleJoinConfResult(TsdkConference tsdkConference, TsdkCommonResult commonResult, TsdkJoinConfIndInfo tsdkJoinConfIndInfo
    Log.i(TAG, "handleJoinConfResult");
    if ((tsdkConference == null) || (commonResult == null)) {
        return;
    }
    int result = commonResult.getResult();
    if (result == 0)
    {
        this.currentConference = tsdkConference;
        this.memberList = null;
        this.self = null;
        TsdkCall tsdkCall = tsdkConference.getCall();
        if (null != tsdkCall) {
            Session newSession = CallMgr.getInstance().getCallSessionByCallID(tsdkCall.getCallInfo().getCallId());
            if (null == newSession) {
                newSession = new Session(tsdkCall);
                CallMgr.getInstance().putCallSessionToMap(newSession);
            }
            if (tsdkCall.getCallInfo().getIsVideoCall() == 1) {
                VideoMgr.getInstance().initVideoWindow(tsdkCall.getCallInfo().getCallId());
            }
        }
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.JOIN_CONF_SUCCESS, tsdkConference.getHandle() + "");
    }
    else
    {
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.JOIN_CONF_FAILED, result);
    }
}
 

onEvtGetDataconfParamResult

接口描述

获取数据会议入会参数结果。

注意事项

无。

方法定义

void onEvtGetDataconfParamResult(TsdkConference conference, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkCommonResult

操作结果。

返回值

无。

代码示例

//Java code
public void  handleGetDataConfParamsResult(TsdkConference tsdkConference, TsdkCommonResult commonResult){
    Log.i(TAG, "handleJoinConfResult");
    if ((tsdkConference == null) || (commonResult == null)) {
        return;
    }
    int result = commonResult.getResult();
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.GET_DATA_CONF_PARAM_RESULT, result);
}
 

onEvtConfctrlOperationResult

接口描述

会控操作结果。

注意事项

无。

方法定义

void onEvtConfctrlOperationResult(TsdkConference conference, TsdkConfOperationResult result);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkConfOperationResult

会控操作结果信息。

返回值

无。

代码示例

//Java code
public void handleConfctrlOperationResult(TsdkConference conference, TsdkConfOperationResult result)
{
    Log.i(TAG, "handleConfctrlOperationResult");
    int ret = result.getReasonCode();
    if (null == conference || null == result)
    {
        return;
    }
    if (ret != 0)
    {
        Log.e(TAG, "conf ctrl operation failed: " + result.getDescription());
        return;
    }
    int confOperationType = result.getOperationType();
    switch (confOperationType)
    {
        //闭音会场
        case 2:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.MUTE_CONF_RESULT, ret);
            break;
        //取消闭音
        case 3:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.UN_MUTE_CONF_RESULT, ret);
            break;
        //锁定会议
        case 4:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.LOCK_CONF_RESULT, ret);
            break;
        //取消锁定
        case 5:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.UN_LOCK_CONF_RESULT, ret);
            break;
        //添加与会者
        case 6:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.ADD_ATTENDEE_RESULT, ret);
            break;
        //删除与会者
        case 7:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.DEL_ATTENDEE_RESULT, ret);
            break;
        //闭音与会者
        case 10:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.MUTE_ATTENDEE_RESULT, ret);
            break;
        //取消闭音与会者
        case 11:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.UN_MUTE_ATTENDEE_RESULT, ret);
            break;
        //设置举手
        case 12:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.HAND_UP_RESULT, ret);
            break;
        //取消设置举手
        case 13:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.CANCEL_HAND_UP_RESULT, ret);
            break;
        //申请主席权限
        case 18:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.REQUEST_CHAIRMAN_RESULT, ret);
            break;
        //释放主席权限
        case 19:
            mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.RELEASE_CHAIRMAN_RESULT, ret);
            break;
        default:
            break;
    }
}
 

onEvtInfoAndStatusUpdate

接口描述

会议信息及状态更新。

注意事项

无。

方法定义

void onEvtInfoAndStatusUpdate(TsdkConference conference); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

返回值

无。

代码示例

//Java code
public void handleInfoAndStatusUpdate(TsdkConference conference){
    Log.i(TAG, "onConfStatusUpdateInd");
    if ((currentConference == null) || (conference == null))
    {
        return;
    }
    if (currentConference.getHandle() != conference.getHandle())
    {
        return;
    }
    String handle = conference.getHandle()+"";
    this.updateConfInfo(conference);
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.STATE_UPDATE, handle);
}
 

onEvtSpeakerInd

接口描述

发言方通知。

注意事项

无。

方法定义

void onEvtSpeakerInd(TsdkConference conference, TsdkConfSpeakerInfo speakerList); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

speakerList

TsdkConfSpeakerInfo

发言方信息。

返回值

无。

代码示例

//Java code
public void handleSpeakerInd(TsdkConfSpeakerInfo speakerList) {
	Log.i(TAG, "onEvtSpeakerInd");

	if (null == speakerList)
	{
		return;
	}

	if (speakerList.getSpeakerNum() > 0)
	{
		this.updateSpeaker(speakerList);
	}

	mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.SPEAKER_LIST_IND, speakerList.getSpeakerNum());
}
 

onEvtRequestConfRightFailed

接口描述

申请会控权限失败。

注意事项

与会者在会议中将无会控权限,但仍可参与会议。

方法定义

void onEvtRequestConfRightFailed(TsdkConference conference, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkCommonResult

操作结果。

返回值

无。

代码示例

//Java code
None
 

onEvtConfIncomingInd

接口描述

会议来电通知。

注意事项

无。

方法定义

void onEvtConfIncomingInd(TsdkConference conference);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

返回值

无。

代码示例

//Java code
public void handleConfIncomingInd(TsdkConference conference){
    if (null == conference)
    {
        return;
    }
    currentConference = conference;
    TsdkCall tsdkCall = conference.getCall();
    if (null != tsdkCall) {
        Session newSession = CallMgr.getInstance().getCallSessionByCallID(tsdkCall.getCallInfo().getCallId());
        if (null == newSession) {
            newSession = new Session(tsdkCall);
            CallMgr.getInstance().putCallSessionToMap(newSession);
        }
    }
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.CONF_INCOMING_TO_CALL_INCOMING, conference);
}
 

onEvtConfEndInd

接口描述

会议结束通知。

注意事项

无。

方法定义

void onEvtConfEndInd(TsdkConference conference); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

返回值

无。

代码示例

//Java code
public void handleConfEndInd(TsdkConference conference)
{
    Log.i(TAG, "handleConfEndInd" + conference.getHandle());
    currentConference = null;
}
 

onEvtJoinDataConfResult

接口描述

加入数据会议结果。

注意事项

无。

方法定义

void onEvtJoinDataConfResult(TsdkConference conference, TsdkCommonResult result); 
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkCommonResult

操作结果。

返回值

无。

代码示例

//Java code
public void  handleJoinDataConfResult(TsdkConference tsdkConference, TsdkCommonResult commonResult){
    Log.i(TAG, "handleJoinDataConfResult");
    if ((tsdkConference == null) || (commonResult == null)) {
        return;
    }
    int result = commonResult.getResult();
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.JOIN_DATA_CONF_RESULT, result);
}
 

onEvtAsStateChange

接口描述

应用共享状态通知。

注意事项

无。

方法定义

void onEvtAsStateChange(TsdkConference conference, TsdkConfAppShareType shareType, TsdkConfAsStateInfo asStateInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

shareType

TsdkConfAppShareType

共享类型:屏幕或程序。

asStateInfo

TsdkConfAsStateInfo

共享状态信息。

返回值

无。

代码示例

//Java code
public void handleAsStateChange(TsdkConfAsStateInfo asStateInfo)
{
	switch (asStateInfo.getState())
	{
		case 0:
			mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.END_AS_SHARE, asStateInfo);
			break;
		default:
			break;
	}
}
 

onEvtAsOwnerChange

接口描述

共享者变更通知。

注意事项

无。

方法定义

void onEvtAsOwnerChange(TsdkConference conference, TsdkConfAsActionType actionType, TsdkAttendee owner);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

actionType

TsdkConfAsActionType

共享行为类型。

owner

TsdkAttendee

共享者。

返回值

无。

代码示例

//Java code
public void onEvtAsOwnerChange(TsdkConference conference,TsdkConfAsActionType actionType, TsdkAttendee owner){
        Log.i(TAG, "onEvtAsOwnerChange");
        
        for (Member member : getCurrentConferenceMemberList())
        {
            if (self == null && member.isSelf())
            {
                setSelf(member);
            }
        }
        if (owner==null||self==null){
            return;
        }
        switch (actionType){
            case TSDK_E_CONF_AS_ACTION_ADD:
                if (owner.getBaseInfo().getNumber().equals(self.getNumber())){
                    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.SCREEN_SHARE_STATE, actionType);
                }else {
                    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.SCREEN_SHARE_STATE, TsdkConfAsActionType.TSDK_E_CONF_AS_ACTION_MODIFY);
                }
                break;
            case TSDK_E_CONF_AS_ACTION_DELETE:
                mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.SCREEN_SHARE_STATE, actionType);
                break;

        }
    }
 

onEvtDsDocNew

接口描述

新建一个共享文档通知。

注意事项

无。

方法定义

void onEvtDsDocNew(TsdkConference conference, TsdkDocBaseInfo docBaseInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

docBaseInfo

TsdkDocBaseInfo

文档基础信息。

返回值

无。

代码示例

//Java code
public void handleDsDocNew(TsdkDocBaseInfo docBaseInfo)
{
	if (null == docBaseInfo)
	{
		return;
	}

	documentId.add(docBaseInfo.getDocumentId());
	mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.START_DATA_CONF_SHARE, docBaseInfo);
}
 

onEvtDsDocDel

接口描述

删除一个共享文档通知。

注意事项

无。

方法定义

void onEvtDsDocDel(TsdkConference conference, TsdkDocShareDelDocInfo docShareDelDocInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

docShareDelDocInfo

TsdkDocShareDelDocInfo

文档删除信息。

返回值

无。

代码示例

//Java code
public void handleDsDocDel(TsdkDocShareDelDocInfo docShareDelDocInfo)
{
	if (null == docShareDelDocInfo)
	{
		return;
	}

	Iterator<Integer> iterator = documentId.iterator();
	while (iterator.hasNext())
	{
		if (iterator.next() == docShareDelDocInfo.getDocBaseInfo().getDocumentId())
		{
			iterator.remove();
		}
	}

	if (0 == documentId.size() && !isShareAs)
	{
		mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.END_DATA_CONF_SHARE, docShareDelDocInfo);
	}
}
 

onEvtWbDocNew

接口描述

新建一个白板文档通知。

注意事项

无。

方法定义

void onEvtWbDocNew(TsdkConference conference, TsdkDocBaseInfo docBaseInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

docBaseInfo

TsdkDocBaseInfo

文档基础信息。

返回值

无。

代码示例

//Java code
public void handleWbDocNew(TsdkDocBaseInfo docBaseInfo)
{
	if (null == docBaseInfo)
	{
		return;
	}

	documentId.add(docBaseInfo.getDocumentId());
	mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.START_DATA_CONF_SHARE, docBaseInfo);
}
 

onEvtWbDocDel

接口描述

删除一个白板文档通知。

注意事项

无。

方法定义

void onEvtWbDocDel(TsdkConference conference, TsdkWbDelDocInfo wbDelDocInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

wbDelDocInfo

TsdkWbDelDocInfo

删除的白板信息。

返回值

无。

代码示例

//Java code
public void handleWbDocDel(TsdkWbDelDocInfo wbDelDocInfo)
{
	if (null == wbDelDocInfo)
	{
		return;
	}

	Iterator<Integer> iterator = documentId.iterator();
	while (iterator.hasNext())
	{
		if (iterator.next() == wbDelDocInfo.getWbBaseInfo().getDocumentId())
		{
			iterator.remove();
		}
	}

	if (0 == documentId.size() && !isShareAs)
	{
		mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.END_DATA_CONF_SHARE, wbDelDocInfo);
	}
}
 

onEvtRecvChatMsg

接口描述

收到会议中的聊天消息通知。

注意事项

无。

方法定义

void onEvtRecvChatMsg(TsdkConference conference, TsdkConfChatMsgInfo chatMsgInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

chatMsgInfo

TsdkConfChatMsgInfo

聊天信息。

返回值

无。

代码示例

//Java code
 public void handleRecvChatMsg(TsdkConfChatMsgInfo confChatMsgInfo)
    {
        mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.CONF_CHAT_MSG, confChatMsgInfo);
    }
 

onEvtGetTempUserResult

接口描述

匿名入会,获取临时帐号结果。

注意事项

无。

方法定义

void onEvtGetTempUserResult(long userId, TsdkCommonResult result);
 

参数描述

参数名

类型

描述

userId

long

用户ID。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
public void handleGetTempUserResult(int userId, TsdkCommonResult result)
{
    if(result == null){
        return;
    }
    mConfNotification.onConfEventNotify(ConfConstant.CONF_EVENT.GET_TEMP_USER_RESULT, result);
}
 

onEvtTransToConfResult

接口描述

呼叫转成会议结果。

注意事项

无。

方法定义

void onEvtTransToConfResult(TsdkCall call,TsdkCommonResult result);
 

参数描述

参数名

类型

描述

call

TsdkCall

呼叫信息。

result

TsdkCommonResult

结果。

返回值

无。

代码示例

//Java code
None
 

onEvtSvcWatchInfoInd

接口描述

SVC(多流)会议下正在观看画面信息通知。

注意事项

无。

方法定义

 void onEvtSvcWatchInfoInd(TsdkConference conference, TsdkConfSvcWatchInfo svWatchInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

svWatchInfo

TsdkConfSvcWatchInfo

SVC(多流)会议下正在观看画面信息。

返回值

无。

代码示例

//Java code
@Override
public void onEvtSvcWatchInfoInd(TsdkConference conference, TsdkConfSvcWatchInfo svcWatchInfo) {
	LogUtil.i(TAG, "onEvtSvcWatchInfoInd notify.");
	MeetingMgr.getInstance().handleSvcWatchInfoInd(conference, svcWatchInfo);
}
 

onEvtShareStatisticInfo

接口描述

共享统计信息上报。

注意事项

无。

方法定义

void onEvtShareStatisticInfo(TsdkConference conference, TsdkShareStatisticInfo statisticInfo);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

statisticInfo

TsdkShareStatisticInfo

共享统计信息。

返回值

无。

代码示例

//Java code
public void onEvtShareStatisticInfo(TsdkConference conference, TsdkShareStatisticInfo statisticInfo) {
	MeetingMgr.getInstance().handleShareStatisticInfo(conference, statisticInfo);
}
 

onEvtConfResumingInd

接口描述

会议恢复中通知(一般在网络发生变化时触发)。

注意事项

无。

方法定义

 void onEvtConfResumingInd(TsdkConference conference);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

返回值

无。

代码示例

//Java code
@Override
public void onEvtConfResumingInd(TsdkConference conference) {
	LogUtil.i(TAG, "onEvtConfResumingInd notify.");
	MeetingMgr.getInstance().handleConfResumingInd();
}
 

onEvtConfResumeResult

接口描述

会议恢复(重新加入)结果。

注意事项

无。

方法定义

 void onEvtConfResumeResult(TsdkConference conference, TsdkCommonResult result, TsdkResumeConfIndInfo info);
 

参数描述

参数名

类型

描述

conference

TsdkConference

会议信息。

result

TsdkCommonResult

操作结果。

info

TsdkResumeConfIndInfo

会议恢复信息。

返回值

无。

代码示例

//Java code
@Override
public void onEvtConfResumeResult(TsdkConference conference, TsdkCommonResult result, TsdkResumeConfIndInfo info) {
	LogUtil.i(TAG, "onEvtConfResumeResult notify.");
	MeetingMgr.getInstance().handleConfResumeResult(conference, result, info);
}
 

onEvtSearchContactsResult

接口描述

查询联系人信息返回结果。

注意事项

查询到的联系人信息包括:UC帐号、姓名、工号、IP号码、部门名字、职务、邮箱、手机号码、座机号码、家庭电话、性别、邮编、地址、签名和硬终端等。

方法定义

void onEvtSearchContactsResult(long querySeqNo, TsdkCommonResult result, TsdkSearchContactsResult searchContactResult); 
 

参数描述

参数名

类型

描述

querySeqNo

long

查询序列号。

result

TsdkCommonResult

查询结果。

searchContactResult

TsdkSearchContactsResult

查询到的联系人信息。

返回值

无。

代码示例

//Java code
public void handleSearchContactResult(int querySeqNo, TsdkCommonResult result, TsdkSearchContactsResult searchContactResult) 
{
    //获取序列号-->和调用查询方法返回的序列号相一致
    int seqNo = querySeqNo;
    int ret = result.getResult();
    //获取联系人成功返回0
    if (ret == 0)
    {
        //获取查询到的联系人列表以及查询到的联系人总数
        List<TsdkContactsInfo> contactsInfos = searchContactResult.getContactInfo();
        int totalNum = searchContactResult.getTotalNum();
        //查询到0个联系人
        if (0 == totalNum)
        {
            notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_NOT_FOUND, null);
        }
        //查询的登录的用户信息
        else if (querySelfInfoSeq == seqNo)
        {
            notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_SELF_COMPLETE, contactsInfos);
        }
        //其余查询结果
        else
        {
            list = contactsInfos;
            QueryContactsInfoResult queryContactsResult = new QueryContactsInfoResult();
            queryContactsResult.setQuerySeq(seqNo);
            List<EntAddressBookInfo> contactsList = new ArrayList<>();
            for (TsdkContactsInfo contactorInfo : contactsInfos)
            {
                EntAddressBookInfo entAddressBookInfo = new EntAddressBookInfo();
                entAddressBookInfo.setEaddrAccount(contactorInfo.getStaffAccount());
                if(contactorInfo.getStaffAccount().isEmpty() || contactorInfo.getStaffAccount() == null)
                {
                    break;
                }
                entAddressBookInfo.setTerminal(contactorInfo.getTerminal());
                entAddressBookInfo.setEaddrDept(contactorInfo.getDepartmentName());
                entAddressBookInfo.setSysIconID(10);
                contactsList.add(entAddressBookInfo);
            }
            queryContactsResult.setList(contactsList);
            notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_COMPLETE, queryContactsResult);
        }
        Log.i(TAG, totalNum + "Get the total number of returned contacts");
    }
    else
    {
        Log.e(TAG, "Search contacts failed, result -->" + result);
        notification.onEntAddressBookNotify(EntAddressBookConstant.Event.SEARCH_CONTACTS_FAILED, null);
    }
}
 

onEvtGetIconResult

接口描述

查询头像信息返回结果。

注意事项

无。

方法定义

void onEvtGetIconResult(long querySeqNo, TsdkCommonResult result, TsdkGetIconResult getIconResult); 
 

参数描述

参数名

类型

描述

querySeqNo

long

查询序列号。

result

TsdkCommonResult

查询结果。

getIconResult

TsdkGetIconResult

查询到的头像信息。

返回值

无。

代码示例

//Java code
public void handleGetIconResult(int querySeqNo, TsdkCommonResult result, TsdkGetIconResult getIconResult) {
    int ret = result.getResult();
    int seqNo = querySeqNo;
    //获取到某个用户的头像
    String account = querySeqAccountMap.get(seqNo);
    //获取头像成功返回0
    if (ret == 0)
    {
        int sysId = getIconResult.getIconId();
        String avatarFile = getIconResult.getIconPath();
        //查询的是登录用户的头像
        if (querySelfIconSeq == seqNo)
        {
            EntAddressBookIconInfo selfIcon = new EntAddressBookIconInfo();
            selfIcon.setAccount(account);
            selfIcon.setIconFile(avatarFile);
            selfIcon.setIconId(sysId);
            selfIcon.setIconSeq(seqNo);
            notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_SELF_ICON, selfIcon);
        }
        //获取到的是系统头像
        else if (sysId >= 0 && avatarFile.isEmpty())
        {
            EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
            iconInfo.setAccount(account);
            iconInfo.setIconId(sysId);
            iconInfo.setIconSeq(seqNo);
            notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_SYSTEM_ICON, iconInfo);
        }
        //获取到的是自定义头像
        else
        {
            EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
            iconInfo.setAccount(account);
            iconInfo.setIconFile(avatarFile);
            iconInfo.setIconSeq(seqNo);
            notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_CUSTOM_ICON, iconInfo);
        }
        Log.i(TAG, sysId + "System Avatar ID  " + avatarFile + "Custom Avatar filename");
    }
    else
    {
        //获取头像失败
        EntAddressBookIconInfo iconInfo = new EntAddressBookIconInfo();
        iconInfo.setAccount(account);
        iconInfo.setIconSeq(seqNo);
        Log.e(TAG, "User get icon failed, result -->" + result);
        notification.onEntAddressBookIconNotify(EntAddressBookConstant.Event.GET_CONTACTS_ICON_FAILED, iconInfo);
    }
}