小鱼易连产品会议控制管理模块包含举手发言功能,详情请查看小鱼易连产品说明文档。
在特定应用场景下,会议主持人需要对参会者强制禁言,强制禁言后,如果参会者需要发言,可以通过举手示意主持人,主持人允许后,该参会者可被解除强制禁言进行发言,发言结束后可恢复强制禁言状态。
平台封装了小鱼易连产品的举手发言的功能,结合服务端 API 及终端 SDK 可实现举手发言整体业务流程,此节主要说明终端 SDK 进行举手发言、结束发言操作的实现,强制禁言及解除参会者禁言操作请参考服务端 API 文档实现。
在基础功能中我们已经了解过会控事件,当参会者被会控主持人强制静音时可以通过举手发言来申请发言。当我们调用 handUp 举手发言时,会控端该参会者的静音图标会变为举手小图标,主持人通过点击举手小图标即可允许该参会者发言。当发言结束的时候,可以通过 endSpeech 结束发言,恢复强制静音状态。
XyCallActivity.java
@Override
public void showConfMgmtStateChanged(String operation, boolean isMuteIsDisabled, String chairmanUri) {
isMuteBtnEnable = !isMuteIsDisabled;
//主会场模式,具体效果可以自行扩展,demo只做UI区分
findViewById(R.id.ll_chairman_mode).setVisibility(TextUtils.isEmpty(chairmanUri) ? GONE : VISIBLE);
if ("mute".equalsIgnoreCase(operation)) {
NemoSDK.getInstance().enableMic(true, isMuteIsDisabled);
if (isMuteIsDisabled) {
// 强制静音,变更为举手发言
Toast.makeText(XyCallActivity.this, "主持人强制静音, 请举手发言", Toast.LENGTH_LONG).show();
muteStatus = MuteStatus.HAND_UP;
btMuteMic.setImageResource(R.mipmap.ic_toolbar_hand_up);
tvMuteMic.setText("举手发言");
} else {
Toast.makeText(XyCallActivity.this, "您已被静音", Toast.LENGTH_LONG).show();
btMuteMic.setImageResource(R.mipmap.ic_toolbar_mic_muted);
tvMuteMic.setText("取消静音");
}
} else if ("unmute".equalsIgnoreCase(operation)) {
//强制静音下的非静音状态,判别为发言中
if (isMuteIsDisabled) {
muteStatus = MuteStatus.END_SPEACH;
btMuteMic.setImageResource(R.mipmap.ic_toolbar_end_speech);
tvMuteMic.setText("结束发言");
} else {
btMuteMic.setImageResource(R.mipmap.ic_toolbar_mic);
tvMuteMic.setText("静音");
}
}