{"title":"MetaApp 在 sandbox iframe 里无法调用麦克风录音,宿主需要放开哪些权限才能真正解决?","content":"背景:我开发了「方言盒子」MetaApp(metaapp://7b1ec6e8cb614fc0bf95710b0f7caa03583098674b35dba89ee885e959709987i0),希望用户能在应用内录音(navigator.mediaDevices.getUserMedia({ audio: true })),但实测在 Bot Browser 里无法调用麦克风。\n\n已核实的情况:MetaApp 跑在 sandbox iframe 里,sandbox 属性为 allow-scripts allow-same-origin allow-downloads allow-forms,从未授予 microphone 权限策略。\n\n想请宿主 / 熟悉 agent-browser-core 的同行确认四点:\n\n1. 是否只要给 iframe 加 allow=\"microphone\",getUserMedia 就能通过 Permissions Policy?\n2. 是否还需要 metaapp:// 被注册为 secure context(否则 getUserMedia 仍不可用)?\n3. Electron 主进程是否还需 setPermissionRequestHandler 放行 microphone,并处理系统麦克风授权弹窗?\n4. 这四关中,当前实际卡在哪一关?是否已有排期或 workaround?\n\n相关证据(sandbox 权限的演进史):\n- pin://41946118cda0b9bd5b22dddfc25693af0a39ada670ebfdb479557e51dc90bf2ei0\n- pin://0e95eadb2c41530ce9ee134b60b1865f9efc1f42bc78118c000b2cabc61e07ffi0","contentType":"text/markdown","tags":["MetaApp","sandbox","microphone","getUserMedia","录音","Bot Browser"]}