黄h片网址在线观看,五月婷婷网址,一级一级一级毛片免费毛片,欧美一级视频免费观看

智慧服務(wù),成就美好體驗(yàn) 項(xiàng)目咨詢

主頁(yè) > 服務(wù)與支持 > 開(kāi)發(fā)平臺(tái) > 客戶端SDK參考 > Android Native SDK > 會(huì)議 會(huì)議接入

入門(mén)使用

會(huì)議接入

更新時(shí)間:2019-11-20

會(huì)議列表一鍵入會(huì)

描述

用戶在移動(dòng)客戶端通過(guò)會(huì)議列表一鍵入會(huì)的方式加入會(huì)議。

前提條件

  • 鑒權(quán)登錄成功。
  • SIP號(hào)碼已成功注冊(cè)。
  • 會(huì)議環(huán)境參數(shù)已設(shè)置。

業(yè)務(wù)流程

圖1 會(huì)議列表一鍵入會(huì)流程 
  1. UI調(diào)用TsdkConferenceManager對(duì)象中的joinConference()方法主動(dòng)加入會(huì)議。SDK發(fā)送加入會(huì)議請(qǐng)求至服務(wù)器。

     

    說(shuō)明: 

    在加入會(huì)議時(shí),需要傳入的參數(shù)為:是否接入視頻會(huì)議以及入會(huì)參數(shù)。

    • 入會(huì)參數(shù)中confPassword、confId以及accessNumber必選。
    • 入會(huì)號(hào)碼(joinNumber)如果不填,則使用自己軟終端號(hào)碼入會(huì)。
    • 會(huì)議對(duì)應(yīng)的呼叫ID(接口會(huì)同步返回呼叫ID,需要記錄下),在使用SIP終端號(hào)碼入會(huì)時(shí)有效。
    代碼示例:
    //Java code
    public int joinConf(TsdkConfJoinParam confJoinParam, boolean isVideo, String joinNumber)
    {
        Log.i(TAG,  "join conf.");
        int result = TsdkManager.getInstance().getConferenceManager().joinConference(confJoinParam, isVideo, joinNumber);
        if (result != 0)
        {
            Log.e(TAG, "joinConf result ->" + result);
            currentConference = null;
            return result;
        }
        return 0;
    }
    
     

     

  2. SDK在收到服務(wù)器返回的加入會(huì)議響應(yīng)后,通過(guò)TsdkNotify對(duì)象中的onEvtJoinConfResult()方法向UI上報(bào)會(huì)議加入結(jié)果事件。并返回會(huì)議對(duì)象TsdkConference,后續(xù)會(huì)控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。

     

    說(shuō)明: 
    1. 在加入會(huì)議時(shí),會(huì)請(qǐng)求會(huì)議權(quán)限,若請(qǐng)求失敗,則通過(guò)TsdkNotify對(duì)象中的onEvtRequestConfRightFailed()方法向UI上報(bào)會(huì)議權(quán)限請(qǐng)求失敗通知,UI提示申請(qǐng)會(huì)控權(quán)限失敗,若請(qǐng)求成功,則不上報(bào)。
    2. 若應(yīng)用程序是以多流的方式(SVC)成功加入會(huì)議,則此結(jié)果通知中會(huì)攜帶SVC信息,包含 isSvcConf (是否多流會(huì)議)、svcLabelCount(可使用的多流Label數(shù)) 和 svcLabel (多流Label 表),應(yīng)用程序應(yīng)保存多流“Label”信息,用于后繼流程中“綁定SVC視頻窗口”、"選看SVC與會(huì)者"和“設(shè)置SVC窗口和與會(huì)者關(guān)系”等操作。
    代碼示例:
    //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);
        }
    }
    
     

     

  3. SDK收到會(huì)議狀態(tài)刷新通知,通過(guò)TsdkNotify對(duì)象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會(huì)議信息及狀態(tài)更新事件,UI刷新會(huì)議狀態(tài)和成員列表。

     

    說(shuō)明: 

    詳細(xì)流程參見(jiàn)會(huì)議信息及會(huì)議狀態(tài)更新描述。

     

  4. 若會(huì)議包含數(shù)據(jù)會(huì)議能力,SDK通過(guò)TsdkNotify對(duì)象中的onEvtGetDataconfParamResult()方法向UI上報(bào)獲取數(shù)據(jù)會(huì)議參數(shù)結(jié)果。

     

    代碼示例:
    //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);
    }
    
     

     

  5. 此時(shí)UI可選擇自動(dòng)加入或用戶選擇加入數(shù)據(jù)會(huì)議,調(diào)用TsdkConference對(duì)象中的joinDataConference()方法加入數(shù)據(jù)會(huì)議。

     

    代碼示例:
    //Java code
    public int joinDataConf()
    {
        if (null == currentConference)
        {
            Log.e(TAG,  "join data conf failed, currentConference is null ");
            return -1;
        }
    
        int result =  currentConference.joinDataConference();
    
        return result;
    }
    
     

     

  6. SDK在收服務(wù)器加入數(shù)據(jù)會(huì)議響應(yīng)后,通過(guò)TsdkNotify對(duì)象中的onEvtJoinDataConfResult()方法向UI上報(bào)數(shù)據(jù)會(huì)議加入結(jié)果事件。若成功,則UI刷新界面,提示加入數(shù)據(jù)會(huì)議成功,若失敗,則提示加入數(shù)據(jù)會(huì)議失敗。

     

    說(shuō)明: 

    在加入數(shù)據(jù)會(huì)議后,通過(guò)TsdkNotify對(duì)象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會(huì)議信息及狀態(tài)更新事件,UI刷新會(huì)議狀態(tài)和成員列表。

    代碼示例:
    //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);
    }
    
     

     

注意事項(xiàng)

無(wú)。

會(huì)議接入碼入會(huì)

描述

用戶由第三方途徑獲取會(huì)議信息,通過(guò)輸入會(huì)議號(hào)和接入碼的方式加入會(huì)議。

說(shuō)明: 
  • 因不支持從撥號(hào)盤(pán)撥打“會(huì)議號(hào)”+“接入碼”的方式直接加入會(huì)議,所以應(yīng)用程序界面需要提供“接入會(huì)議”的單獨(dú)入口。
  • 會(huì)議列表一鍵入會(huì)的接口調(diào)用流程相同,不同在于用戶界面入口。

前提條件

參見(jiàn)會(huì)議列表一鍵入會(huì)

業(yè)務(wù)流程

參見(jiàn)會(huì)議列表一鍵入會(huì)。

注意事項(xiàng)

無(wú)。

統(tǒng)一會(huì)議接入號(hào)入會(huì)

描述

用戶由第三方途徑獲取會(huì)議信息,通過(guò)撥打統(tǒng)一會(huì)議接入號(hào),使用IVR導(dǎo)航的方式加入會(huì)議。

前提條件

  • 鑒權(quán)登錄成功。
  • SIP號(hào)碼已成功注冊(cè)。
  • 會(huì)議環(huán)境參數(shù)已設(shè)置。

業(yè)務(wù)流程

圖2 統(tǒng)一會(huì)議接入號(hào)入會(huì)流程

  1. UI調(diào)用TsdkCallManager對(duì)象中的startCall()方法來(lái)發(fā)起一個(gè)呼叫請(qǐng)求,被叫號(hào)碼為“統(tǒng)一會(huì)議接入號(hào)”。

     

    代碼示例:
    // Java code
    TsdkCall call = TsdkManager.getInstance().getCallManager().startCall(toNumber, isVideoCall);
    
     

     

  2. 若呼叫建立成功,SDK通過(guò)TsdkNotify對(duì)象中的onEvtCallConnected()方法向UI上報(bào)呼叫建立事件,與普通音視頻呼叫相同。

     

    代碼示例:
    //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);
    }
    
     

     

  3. 用戶根據(jù)服務(wù)器的語(yǔ)言提示,在二次撥號(hào)界面輸入會(huì)議接入碼和密碼(密碼必須以“#”號(hào)結(jié)尾),UI調(diào)用TsdkCall對(duì)象中的sendDtmf()方法在通話中發(fā)送DTMF信號(hào)完成會(huì)議接入碼和密碼發(fā)送,SDK完成入會(huì)交互處理。

     

    代碼示例:
    //Java code
    public boolean reDial(int code)
    {
        TsdkDtmfTone tsdkDtmfTone = TsdkDtmfTone.enumOf(code);
        LogUtil.d(TAG, "Dtmf Tone :" + tsdkDtmfTone.getIndex());
        int result = tsdkCall.sendDtmf(tsdkDtmfTone);
        if (result != 0)
        {
            LogUtil.e(TAG, "sendDTMF return failed, result = " + result);
            return false;
        }
        return true;
    }
    
     

     

  4. SDK在收到服務(wù)器返回的加入會(huì)議響應(yīng)后,通過(guò)TsdkNotify對(duì)象中的onEvtJoinConfResult()方法向UI上報(bào)會(huì)議加入結(jié)果事件。并返回會(huì)議對(duì)象TsdkConference,后續(xù)會(huì)控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。

     

    說(shuō)明: 
    1. 在加入會(huì)議時(shí),會(huì)請(qǐng)求會(huì)議權(quán)限,若請(qǐng)求失敗,則通過(guò)TsdkNotify對(duì)象中的onEvtRequestConfRightFailed()方法向UI上報(bào)會(huì)議權(quán)限請(qǐng)求失敗通知,UI提示申請(qǐng)會(huì)控權(quán)限失敗,若請(qǐng)求成功,則不上報(bào)。
    2. 若應(yīng)用程序是以多流的方式(SVC)成功加入會(huì)議,則此結(jié)果通知中會(huì)攜帶SVC信息,包含 isSvcConf (是否多流會(huì)議)、svcLabelCount(可使用的多流Label數(shù)) 和 svcLabel (多流Label 表),應(yīng)用程序應(yīng)保存多流“Label”信息,用于后繼流程中“綁定SVC視頻窗口”、"選看SVC與會(huì)者"和“設(shè)置SVC窗口和與會(huì)者關(guān)系”等操作。
    代碼示例:
    //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);
        }
    }
    
     

     

  5. SDK收到會(huì)議狀態(tài)刷新通知,通過(guò)TsdkNotify對(duì)象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會(huì)議信息及狀態(tài)更新事件,UI刷新會(huì)議狀態(tài)和成員列表。

     

    說(shuō)明: 

    詳細(xì)流程參見(jiàn)會(huì)議信息及會(huì)議狀態(tài)更新描述。

     

  6. 若會(huì)議包含數(shù)據(jù)會(huì)議能力,SDK通過(guò)TsdkNotify對(duì)象中的onEvtGetDataconfParamResult()方法向UI上報(bào)獲取數(shù)據(jù)會(huì)議參數(shù)結(jié)果。

     

    代碼示例:
    //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);
    }
    
     

     

  7. 此時(shí)UI可選擇自動(dòng)加入或用戶選擇加入數(shù)據(jù)會(huì)議,調(diào)用TsdkConference對(duì)象中的joinDataConference()方法加入數(shù)據(jù)會(huì)議。

     

    代碼示例:
    //Java code
    public int joinDataConf()
    {
        if (null == currentConference)
        {
            Log.e(TAG,  "join data conf failed, currentConference is null ");
            return -1;
        }
    
        int result =  currentConference.joinDataConference();
    
        return result;
    }
    
     

     

  8. SDK在收服務(wù)器加入數(shù)據(jù)會(huì)議響應(yīng)后,通過(guò)TsdkNotify對(duì)象中的onEvtJoinDataConfResult()方法向UI上報(bào)數(shù)據(jù)會(huì)議加入結(jié)果事件。若成功,則UI刷新界面,提示加入數(shù)據(jù)會(huì)議成功,若失敗,則提示加入數(shù)據(jù)會(huì)議失敗。

     

    說(shuō)明: 

    在加入數(shù)據(jù)會(huì)議后,通過(guò)TsdkNotify對(duì)象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會(huì)議信息及狀態(tài)更新事件,UI刷新會(huì)議狀態(tài)和成員列表。

    代碼示例:
    //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);
    }
    
     

     

注意事項(xiàng)

無(wú)。

被邀接入會(huì)議

描述

會(huì)議主席邀請(qǐng)新的與會(huì)者加入會(huì)議。

前提條件

與會(huì)者通過(guò)主席身份加入會(huì)議,或已申請(qǐng)獲取為主席。

業(yè)務(wù)流程

圖3 被邀接入會(huì)議流程 
  1. 被邀與會(huì)者側(cè)SDK收到會(huì)議來(lái)電請(qǐng)求,通過(guò)TsdkNotify對(duì)象中的onEvtConfIncomingInd()方法向UI上報(bào)會(huì)議來(lái)電事件,UI提示用戶會(huì)議來(lái)電。

     

    說(shuō)明: 

    在會(huì)議來(lái)電通知攜帶的信息中,TsdkConference.callInfo中的對(duì)端號(hào)碼(getPeerNumber())一般默認(rèn)為會(huì)議服務(wù)的統(tǒng)一接入號(hào)碼,作為對(duì)用戶的提示意義不大,建議使用TsdkConference中的會(huì)議主題(getSubject())作為來(lái)電提示信息。

    代碼示例:
    //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);
    }
    
     

     

  2. 被邀與會(huì)者側(cè)UI調(diào)用TsdkConference對(duì)象中的acceptConference()方法接聽(tīng)會(huì)議來(lái)電。

     

    說(shuō)明: 

    若用戶拒絕接聽(tīng)會(huì)議來(lái)電,則通過(guò)調(diào)用TsdkConference對(duì)象中的rejectConference()方法拒接會(huì)議來(lái)電。

    代碼示例:
    //Java code
    public int acceptConf(boolean isVideo)
    {
        Log.i(TAG,  "accept conf.");
    
        if (null == currentConference)
        {
            Log.i(TAG,  "accept conf, currentConference is null ");
            return 0;
        }
    
        int result = currentConference.acceptConference(isVideo);
        if (result == 0) {
            Log.i(TAG,  "accept conf");
        }
    
        return result;
    }
    
     
    //Java code
    public int rejectConf()
    {
        Log.i(TAG,  "reject conf.");
    
        if (null == currentConference)
        {
            Log.i(TAG,  "reject conf, currentConference is null ");
            return 0;
        }
    
        int result = currentConference.rejectConference();
        if (result == 0) {
            currentConference = null;
        }
    
        return result;
    }
    
     

     

  3. SDK在收到服務(wù)器返回的加入會(huì)議響應(yīng)后,通過(guò)TsdkNotify對(duì)象中的onEvtJoinConfResult()方法向UI上報(bào)會(huì)議加入結(jié)果事件。并返回會(huì)議對(duì)象TsdkConference,后續(xù)會(huì)控時(shí)使用,此時(shí), UI可跳轉(zhuǎn)至?xí)h界面。

     

    說(shuō)明: 
    1. 在加入會(huì)議時(shí),會(huì)請(qǐng)求會(huì)議權(quán)限,若請(qǐng)求失敗,則通過(guò)TsdkNotify對(duì)象中的onEvtRequestConfRightFailed()方法向UI上報(bào)會(huì)議權(quán)限請(qǐng)求失敗通知,UI提示申請(qǐng)會(huì)控權(quán)限失敗,若請(qǐng)求成功,則不上報(bào)。
    2. 若應(yīng)用程序是以多流的方式(SVC)成功加入會(huì)議,則此結(jié)果通知中會(huì)攜帶SVC信息,包含 isSvcConf (是否多流會(huì)議)、svcLabelCount(可使用的多流Label數(shù)) 和 svcLabel (多流Label 表),應(yīng)用程序應(yīng)保存多流“Label”信息,用于后繼流程中“綁定SVC視頻窗口”、"選看SVC與會(huì)者"和“設(shè)置SVC窗口和與會(huì)者關(guān)系”等操作。
    代碼示例:
    //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);
        }
    }
    
     

     

  4. SDK收到會(huì)議狀態(tài)刷新通知,通過(guò)TsdkNotify對(duì)象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會(huì)議信息及狀態(tài)更新事件,UI刷新會(huì)議狀態(tài)和成員列表。

     

    說(shuō)明: 

    詳細(xì)流程參見(jiàn)會(huì)議信息及會(huì)議狀態(tài)更新描述。

     

注意事項(xiàng)

無(wú)。

匿名加入會(huì)議

描述

用戶在未注冊(cè)EC帳號(hào)時(shí),通過(guò)匿名方式加入會(huì)議。

前提條件

會(huì)議已經(jīng)創(chuàng)建,且用戶通過(guò)第三方方式獲取到會(huì)議ID和密碼。

業(yè)務(wù)流程

圖4 匿名加入會(huì)議流程 
  1. UI調(diào)用TsdkConferenceManager對(duì)象中的joinConferenceByAnonymous()方法來(lái)匿名加入會(huì)議。

     

    說(shuō)明: 

    參數(shù)TsdkConfAnonymousJoinParam中的服務(wù)器地址和端口,指會(huì)議服務(wù)器的地址和端口。

    代碼示例:
    //Java code
    //set local IP
    String localIpAddress = DeviceManager.getLocalIpAddress(false);
    TsdkLocalAddress localAddress = new TsdkLocalAddress(localIpAddress);
    TsdkManager.getInstance().setConfigParam(localAddress);
    
    TsdkConfAnonymousJoinParam anonymousParam = new TsdkConfAnonymousJoinParam();
    anonymousParam.setConfId(joinParam.getAnonymousConfId());
    anonymousParam.setConfPassword(joinParam.getConfPassword());
    anonymousParam.setDisplayName(joinParam.getDisplayName());
    anonymousParam.setServerAddr(joinParam.getServiceAddress());
    anonymousParam.setServerPort(Integer.valueOf(joinParam.getServicePort()));
    anonymousParam.setUserId(1);
    
    int result = TsdkManager.getInstance().getConferenceManager().joinConferenceByAnonymous(anonymousParam);
    
     

     

  2. SDK通過(guò)TsdkNotify對(duì)象中的onEvtGetTempUserResult()方法向UI上報(bào)臨時(shí)帳號(hào)獲取結(jié)果事件。

     

    說(shuō)明: 

    若此次事件通知返回失敗,應(yīng)用程序界面應(yīng)提示用戶。

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

     

  3. SDK通過(guò)TsdkNotify對(duì)象中的onEvtJoinConfResult()方法向UI上報(bào)加入會(huì)議結(jié)果,后續(xù)和正常入會(huì)流程一樣。

     

    說(shuō)明: 

    匿名會(huì)議過(guò)程中,無(wú)論用戶采用主席密碼入會(huì)或是普通與會(huì)者密碼入會(huì),均只有設(shè)置自己閉音的會(huì)控能力,其他會(huì)控能力暫不支持。

    代碼示例:
    //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);
        }
    }