台湾一级a毛片在线播放,黄色精品偷拍视频大全,精品一区二区在线欧美日韩,日本特黄一级视频播三级片,日韩美女18岁美女视频,偷偷操不一样的99,国产午夜激无码av毛片久

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

主頁 > 服務(wù)與支持 > 開發(fā)平臺 > 客戶端SDK參考 > Android Native SDK > 會議 會議控制

入門使用

會議控制

更新時間:2019-11-20

退出和結(jié)束會議

描述

普通與會者和主席均可在會議中主動退出會議,主席可以結(jié)束會議。

說明: 

若主席退出會議,則會議中無主席。預(yù)約會議時,原主席可以通過主席接入信息重新加入會議獲取主席。當(dāng)會議中無任何與會者時,會議也會自動結(jié)束。

前提條件

與會者已在會議中。

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

  • 退出會議
    圖1 退出會議流程 
  1. 普通與會者或主席側(cè)UI調(diào)用TsdkConference對象中的leaveConference()方法退出會議。

     

    說明: 

    在主動退出會議過程中,SDK層會主動掛斷通話,然后才離開會議。

    代碼示例:
    //Java code
    public int leaveConf()
    {
        if (null == currentConference)
        {
            Log.i(TAG,  "leave conf, currentConference is null ");
            return 0;
        }
    
        int result = currentConference.leaveConference();
        if (result == 0) {
            currentConference = null;
        }
    
        return result;
    }
    
     

     

  2. 普通與會者或主席側(cè)SDK在收到“退出會議”請求的響應(yīng)后,通過TsdkNotify對象中的onEvtCallDestroy()方法向UI上報(bào)呼叫ID銷毀事件。

     

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

     

  3. 其他與會者側(cè)SDK收到會議成員列表刷新通知,通過TsdkNotify對象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會議信息及狀態(tài)更新事件,UI刷新會議狀態(tài)和成員列表。

     

    說明: 

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

     

  • 結(jié)束會議
    圖2 結(jié)束會議流程 
  1. 主席側(cè)UI調(diào)用TsdkConference對象中的endConference()方法結(jié)束會議。

     

    說明: 

    應(yīng)用程序界面在關(guān)閉會議時應(yīng)為主席提供“退出會議”和“結(jié)束會議”的選擇入口。

    代碼示例:
    //Java code
    public int endConf()
    {
        if (null == currentConference)
        {
            Log.i(TAG,  "end conf, currentConference is null ");
            return 0;
        }
    
        int result =  currentConference.endConference();
        if (result == 0) {
            currentConference = null;
        }
    
        return result;
    }
    
     

     

  2. 其他與會者側(cè)SDK收到會議結(jié)束通知,通過TsdkNotify對象中的onEvtConfEndInd()方法向UI上報(bào)會議結(jié)束通知,UI提示用戶會議結(jié)束。

     

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

     

注意事項(xiàng)

無。

基礎(chǔ)會控操作

描述

在會議中進(jìn)行基礎(chǔ)的會議控制操作。

前提條件

無。

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

圖3 基礎(chǔ)會控操作流程 
  1. UI調(diào)用TsdkConference對象中的會議基礎(chǔ)控制方法(如表1),實(shí)現(xiàn)會議控制相關(guān)操作。

     

    說明: 

    閉音會場:只閉音與會者。

    表1 參數(shù)說明

    會控類型

    接口

    權(quán)限

    說明

    閉音會場

    muteConference

    主席

    設(shè)置會議閉音后,除主席外,其他所有與會者均不可說(只可聽)。

    添加與會者

    addAttendee

    主席

    支持邀請一個或多個與會者。

    重播與會者

    redialAttendee

    主席

    重新呼叫之前掛斷的與會者。

    掛斷與會者

    handupAttendee

    主席

    掛斷在會議中的與會者。

    刪除與會者

    removeAttendee

    主席

    踢出與會者(正在會議中的)、移除已離會的與會者和取消正在邀請的與會者。

    閉音與會者

    muteAttendee

    • 主席
    • 普通與會者

    設(shè)置閉音后,該與會者不可說(只聽)。

    會議主席在會議中設(shè)置或取消其他與會者閉音,普通與會者設(shè)置或取消自己閉音。

    舉手

    setHandup

    • 主席
    • 普通與會者

    會議主席在會議中取消其他與會者舉手,所有與會者設(shè)置或取消自己舉手。

    設(shè)置會議視頻模式

    setVideoMode

    主席

    支持的視頻會議模式有“廣播與會者模式”、“聲控模式”和“自由討論模式”。

    觀看與會者

    watchAttendee

    • 主席
    • 普通與會者

    AVC 會議:只需要指定待選看的與會者號碼,每次指定選看一個與會者。

    SVC會議:

    1. 除指定待選看的與會者號碼外,還應(yīng)該指定"SVC Label",以及待選看的分辨率(寬和高),且“SVC Label”與“分辨率”必須與“綁定SVC視頻窗口”時填寫的參數(shù)相對應(yīng)。
    2. 更新選看時,需要全量指定所有選看信息(一大多少)。
    3. 若指定的待選看與會者號碼為空(僅支持大窗口),則所選看的與會者由系統(tǒng)自動推送。

    廣播與會者

    broadcastAttendee

    主席

    會議視頻模式為“廣播與會者模式”時主席可以指定廣播與會者。

    申請主席

    requestChairman

    普通與會者

    通過主席密碼申請主席權(quán)限成為主席。

    釋放主席

    releaseChairman

    主席

    釋放主席權(quán)限后成為普通與會者。

    設(shè)置會議錄播

    setRecordBroadcast

    主席

    設(shè)置開始和結(jié)束錄播。

    設(shè)置會議直播

    setLiveBroadcast

    主席

    設(shè)置開始和結(jié)束直播。

    代碼示例:
    //Java code
    public int muteConf(boolean isMute)
    {
        if (null == currentConference)
        {
            Log.e(TAG,  "mute conf failed, currentConference is null ");
            return -1;
        }
    
        int result =  currentConference.muteConference(isMute);
    
        return result;
    }
    
     

     

  2. SDK在收到會控請求的響應(yīng)后,通過TsdkNotify對象中的onEvtConfctrlOperationResult()方法向UI上報(bào)會控操作結(jié)果事件。

     

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

     

  1. 所有會議成員側(cè)SDK收到會議成員列表刷新通知,通過TsdkNotify對象中的onEvtInfoAndStatusUpdate()方法向UI上報(bào)會議信息及狀態(tài)更新事件,UI刷新會議狀態(tài)和成員列表。

     

    說明: 

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

     

注意事項(xiàng)

無。

會議信息及會議狀態(tài)更新

描述

會議過程中,會議狀態(tài)或與會者成員狀態(tài)發(fā)生變化時,服務(wù)器會推送變更通知,應(yīng)用程序界面應(yīng)刷新相應(yīng)的狀態(tài)以提示用戶。

說明: 
  • 會議狀態(tài)當(dāng)前包括鎖定狀態(tài)、閉音狀態(tài)和是否錄播狀態(tài)。
  • 會議成員狀態(tài)當(dāng)前包括與會者加入、退出、掛斷、閉音、舉手和角色變更。

前提條件

主席和與會者均已在會議中。

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

圖4 更新會議狀態(tài)信息和與會者列表流程 
  1. SDK在收到服務(wù)器返回的會議狀態(tài)信息和與會者列表更新通知后,通過TsdkNotify對象中onEvtInfoAndStatusUpdate()方法向UI上報(bào)會議信息及會議狀態(tài)更新事件。

     

    說明: 

    事件返回的消息內(nèi)容為TsdkConference對象,其中:

    • 會場錄音狀態(tài)(record),為true時,應(yīng)用程序界面應(yīng)提示與會者當(dāng)前處于錄音狀態(tài)。
    • 會場靜音狀態(tài)(allMute),為true時,應(yīng)用程序界面應(yīng)提示與會者當(dāng)前處于會場閉音狀態(tài),除主席外,均可聽不可說。
    • 會議主題(subject),不為空時,應(yīng)用程序界面應(yīng)顯示此主題,在會議創(chuàng)建時已確定,首次獲取后,不會再有變更。
    • 成員更新方式(confAttendeeUpdateType)參考TsdkConfAttendeeUpdateType,支持無更新、全量更新、增量增加、增量修改和增量刪除,目前以全量同步的方式進(jìn)行更新。
    • 是否高清視頻會議(hdConf),為true時,會議視頻為高清視頻。
    • 會議媒體類型(confMediaType),參考TsdkConfMediaType枚舉類。
    • 會議狀態(tài)(confState),參考TsdkConfState枚舉類。
    • 與會者個數(shù),當(dāng)前會議中的與會者個數(shù)可通過getAttendeeList().size()獲取。
    • 與會者的詳細(xì)信息(attendeeList),包括用戶標(biāo)識、名稱、號碼、閉音狀態(tài)、靜音狀態(tài)、舉手狀態(tài)、用戶狀態(tài)、角色和支持的媒體類型,應(yīng)用程序界面需要根據(jù)相應(yīng)字段顯示與會者的信息和狀態(tài)。
    • 是否支持直播(supportLiveBroadcast),為true時,支持直播。
    • 是否直播狀態(tài)(liveBroadcast),為true時,直播狀態(tài)。
    • 是否支持錄播(supportRecordBroadcast),為true時,支持錄播。

    離會,刪除與會者,退出會議等情景中,如遇不知如何判斷是否還在會議中時,Android平臺下都可以通過刷新事件判斷自己是否在列表中來判斷自己的狀態(tài)。

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

     

注意事項(xiàng)

無。

顯示發(fā)言人

描述

會議過程中,應(yīng)用程序顯示服務(wù)器推送的當(dāng)前發(fā)言人信息。

前提條件

與會者均已在會議中。

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

圖5 顯示發(fā)言人流程 
SDK在收到服務(wù)器返回的發(fā)言人通知后,通過TsdkNotify對象中onEvtSpeakerInd()方法向UI上報(bào)發(fā)言人通知事件,攜帶當(dāng)前發(fā)言方信息以及會議信息。
說明: 

當(dāng)存在多個發(fā)言人時,建議應(yīng)用程序界面按音量大小,顯示第一發(fā)言人和第二發(fā)言人。

注意事項(xiàng)

無。