更新時間:2019-11-20
描述
普通與會者和主席均可在會議中主動退出會議,主席可以結(jié)束會議。
若主席退出會議,則會議中無主席。預(yù)約會議時,原主席可以通過主席接入信息重新加入會議獲取主席。當會議中無任何與會者時,會議也會自動結(jié)束。
前提條件
與會者已在會議中。
業(yè)務(wù)流程
在主動退出會議過程中,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; } |
//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); } |
詳細流程參見會議信息及會議狀態(tài)更新描述。
應(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; } |
//Java code public void handleConfEndInd(TsdkConference conference) { Log.i(TAG, "handleConfEndInd" + conference.getHandle()); currentConference = null; } |
注意事項
無。
描述
在會議中進行基礎(chǔ)的會議控制操作。
前提條件
無。
業(yè)務(wù)流程
閉音會場:只閉音與會者。
會控類型 |
接口 |
權(quán)限 |
說明 |
---|---|---|---|
閉音會場 |
主席 |
設(shè)置會議閉音后,除主席外,其他所有與會者均不可說(只可聽)。 |
|
添加與會者 |
主席 |
支持邀請一個或多個與會者。 |
|
重播與會者 |
主席 |
重新呼叫之前掛斷的與會者。 |
|
掛斷與會者 |
主席 |
掛斷在會議中的與會者。 |
|
刪除與會者 |
主席 |
踢出與會者(正在會議中的)、移除已離會的與會者和取消正在邀請的與會者。 |
|
閉音與會者 |
|
設(shè)置閉音后,該與會者不可說(只聽)。 會議主席在會議中設(shè)置或取消其他與會者閉音,普通與會者設(shè)置或取消自己閉音。 |
|
舉手 |
|
會議主席在會議中取消其他與會者舉手,所有與會者設(shè)置或取消自己舉手。 |
|
設(shè)置會議視頻模式 |
主席 |
支持的視頻會議模式有“廣播與會者模式”、“聲控模式”和“自由討論模式”。 |
|
觀看與會者 |
|
AVC 會議:只需要指定待選看的與會者號碼,每次指定選看一個與會者。 SVC會議:
|
|
廣播與會者 |
主席 |
會議視頻模式為“廣播與會者模式”時主席可以指定廣播與會者。 |
|
申請主席 |
普通與會者 |
通過主席密碼申請主席權(quán)限成為主席。 |
|
釋放主席 |
主席 |
釋放主席權(quán)限后成為普通與會者。 |
|
設(shè)置會議錄播 |
主席 |
設(shè)置開始和結(jié)束錄播。 |
|
設(shè)置會議直播 |
主席 |
設(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; } |
//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; } } |
詳細流程參見會議信息及會議狀態(tài)更新”描述。
注意事項
無。
描述
會議過程中,會議狀態(tài)或與會者成員狀態(tài)發(fā)生變化時,服務(wù)器會推送變更通知,應(yīng)用程序界面應(yīng)刷新相應(yīng)的狀態(tài)以提示用戶。
前提條件
主席和與會者均已在會議中。
業(yè)務(wù)流程
事件返回的消息內(nèi)容為TsdkConference對象,其中:
離會,刪除與會者,退出會議等情景中,如遇不知如何判斷是否還在會議中時,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); } |
注意事項
無。
描述
會議過程中,應(yīng)用程序顯示服務(wù)器推送的當前發(fā)言人信息。
前提條件
與會者均已在會議中。
業(yè)務(wù)流程
當存在多個發(fā)言人時,建議應(yīng)用程序界面按音量大小,顯示第一發(fā)言人和第二發(fā)言人。
注意事項
無。