Skip to main content
全体静音且不允许自行解除时,成员通过举手申请发言。举手还可以用于摄像头、聊天、共享。

四种类型

HandupType 决定举手申请的是什么:

状态流转

UserHandupStep 是流转步骤: 所有变化都通过 onUserHandup 广播:
onUserHandup 是广播给所有人的,包含举手者自己 —— 所以成员侧也能用它来同步自己的举手状态,不必本地猜。

主持人处理

处理结果另有一条事件(给所有人):
同意举手不等于替对方开麦。adminConfirmHandup(uid, true, HandupType.mic) 只是授予权限, 成员侧还要自己调 requestOpenMic()。这与 adminRequestUserOpenMic 一样,SDK 不会替用户打开麦克风。

成员侧的按钮逻辑

举手按钮该不该显示,取决于房间开关:
两个字段的完整语义见会控

一个最小的举手列表

ForEach 的 key 要同时包含 uid 和 type —— 同一个人可以同时申请开麦和开摄像头, 只用 uid 会撞。
ArkTS 的 @State 只观测第一层赋值,举手列表这类数组永远用「建新数组再整体赋值」, 不要 push / splice

相关阅读