# 如何在局域网广播语音

一个人讲话，其他人通过浏览器收听。在本网站开设频道，分享链接或显示在附近列表中。直接连接需要设备在本地网络上互相可达。如果主持端选择云中继，听众确认后，加密语音才会经 Cloudflare 转发。

[打开Local Walkie-Talkie](https://httcup.github.io/tools/walkie-talkie/): Start a named channel, then hold to talk or speak hands-free. Connect directly on your local network, or choose Cloud relay for listeners over the internet.

最后更新 2026年10月14日

## 在讲话设备上开始

默认方式是 Direct。下文关于直接互通的网络说明适用于这种方式。如需使用 Cloud relay，由主机在开始前选择，并分享新的邀请。另一方在连接前查看并确认；Walkie-Talkie 的中继邀请也会等待点击 Join。Direct 不会自动切换。Cloudflare 转发加密内容，并可看到地址、时间和流量。使用中继时，双方需要全程联网。批准、密码和麦克风控制仍然有效。

在本网站打开 Local Walkie-Talkie，保持 Require my approval 开启以审核新请求，然后选择 Start channel 并允许使用麦克风。支持此功能的手机或电脑可以通过 HTTPS 页面主持频道。无需 Python 辅助程序、下载或账号。为获得更稳定的连接，请尽可能保持主机页面可见，并让设备保持唤醒状态。

## 邀请听众

将收听链接或二维码分享给能够使用所选连接方式的设备。打开 Direct 邀请后会自动发送加入请求。Cloud relay 邀请会先显示连接方式，等待点击 Join 后再连接。新频道默认需要主机批准。请求会弹窗显示；Approve 允许加入，Deny 拒绝，Review later 关闭弹窗并将请求保留在列表中。除非主机关闭审批，否则批准前不会发送音频。收听不会请求麦克风权限。如果浏览器阻止播放声音，选择 Unmute 即可开始播放。加入后，听众使用 Mute/Unmute 和 Leave 控制收听。

双方都需要连接互联网才能完成配对。配对服务传递连接信息和状态；在 Direct 方式下，实时语音通过另一条直接加密的连接，从主机传送到每个听众。只有明确选择后才会使用云中继，不会自动切换。

在发声设备的 **Channel name** 中输入一个听众容易辨认的名称。勾选 **Make this channel discoverable** 后，选择 **Start channel** 会将频道发布到所选的发现范围中。如果只想通过链接邀请听众，请取消勾选该选项。

页面顶部的 **Available connections** 列表会自动更新。听众查看连接方式图标后，选择目标频道旁的 **Join** 即可加入。仅浏览列表不会开始连接。加入后仅接收音频，绝不会请求麦克风权限。即使列表中没有该频道，仍可使用听众链接或二维码加入。连接后，听众可以使用 Mute/Unmute 和 Leave。

附近发现功能根据浏览器的公网 IPv4 地址或 IPv6 /64 前缀，以及本站的来源（origin）进行分组，并不会扫描 Wi-Fi。共享互联网出口可能让陌生人进入同一组，VPN 或不同的网络路径也可能让身旁的设备无法显示。发布频道会向该组共享频道名称和听众邀请密钥。找到频道且能连接主机的人可以申请加入。除非主机关闭审批，否则需获批准后才能收听。主机连接保持正常时，频道会继续显示在列表中。选择 End broadcast 或主机连接断开后，频道会从列表中移除。

## 按住说话

用触屏或鼠标按住 Talk 按钮，或让按钮获得焦点后按住空格键。松开即可停止发送语音。如需免按住按钮讲话，请选择 Start talking。音频会持续发送，直到选择 Stop talking。放下设备前，请确认屏幕上显示的发送状态。麦克风静音时，这两种方式都不会发送语音。最多可连接十名听众，等待中的连接也计入此上限；请先从小范围开始，并检查你打算使用的设备和网络。

## 恢复失联的主机

等待中的接收端会在当前页面检查主机是否可用，并保留静音设置。页面在前台时，目标检查间隔为一秒。已经正常工作的直接语音连接，可以在配对服务短暂中断时继续运行。浏览器处于后台、服务连接限制和设备休眠都可能延迟恢复。

隐藏页面不会主动断开正常的连接。按住讲话会自动松开；通过 Start talking 开启的免按住讲话会在浏览器允许时继续运行。不过，锁屏后手机仍可能暂停麦克风、声音或网络。麦克风实际中断时，频道保持开放，但语音发送会停止。返回页面后，若麦克风已停止，页面会尝试重新获取；必要时请选择 Resume microphone。若整个页面曾被挂起，页面会尝试恢复同一频道；浏览器要求操作时请选择 Resume channel。发生中断后，语音发送保持关闭，直到你主动重新开始。

浏览器为每个标签页提供的临时存储，还能让频道在页面重新加载后得以保留；如果存储不可用，重新加载主机页面会生成新的邀请。End broadcast 会移除频道列表条目、结束会话并阻止自动恢复。下次开始时会创建新的邀请。Leave 会停止一名听众的连接及其重试。

## 谨慎分享邀请

持有收听邀请且能连接主机的人可以申请加入。除非主机关闭审批，否则邀请不会授予批准前的音频访问权限。主机使用的另一把密钥保留在其浏览器标签页中，不会分享出去。听众密钥先通过链接中 # 字符之后的片段传递，随后通过安全的配对消息传递。服务在保持打开的连接上保存临时房间状态；Cloudflare 会将调用元数据日志保留七天，但不会保留麦克风音频。

网站常规的广告、测量和捐赠按钮脚本也会在此页面运行。工具不会向它们提供音频，但页面脚本可以读取页面地址和浏览器存储。在存储可用时移除地址中的邀请片段，可以减少该片段随后暴露的机会，但无法将这些脚本隔离开来。请在信任此页面的前提下授予麦克风权限。接收者可以自行录制听到的内容。

## 检查设备能否直连

如果手机热点允许参与设备之间直接通信，也可以使用热点。请将设备连接到同一个热点，并保持互联网连接以便发现和配对。列表中没有频道时，请使用听众链接或二维码。部分热点和受管理的设备会阻止直接通信，请先用实际要使用的设备测试。

访客 Wi-Fi 可能会隔离设备。即使两台设备看起来连接着同一个 Wi-Fi，防火墙、浏览器的本地网络权限、VPN 和操作系统路由也可能影响直接连接。Direct 仅使用主机候选地址，不使用 STUN 或 TURN 服务器；这会限制可用路由，但不能据此证明连接被限定在某个物理网络内。请先用实际要使用的手机和电脑进行测试，再依赖这个频道。
