Sonos Announce

🔊 智能播报·状态无损恢复

智能控制Sonos音箱播放音频并自动恢复原有播放状态,支持Spotify、电台、Line-In等多源无缝切换,适合家庭自动化通知与音效场景。

收藏
3k
安装
1.1k
版本
1.0.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

sonos-announce 是一款面向Sonos生态系统的智能音频控制技能,核心能力是在播放自定义音频后完整还原之前的播放状态。该技能通过Python的soco库与Sonos设备通信,内置HTTP服务器向音箱流式传输音频,并精确记录每台音箱的播放源、进度、队列位置等元数据。

显著优点

1. 状态智能恢复:支持Spotify曲目/歌单精确定位恢复、网络电台从头播放、Line-In/TV/蓝牙输入自动重连等复杂场景
2. 多音箱协调:自动识别Sonos网络拓扑,处理主从音箱(coordinator)关系,确保全屋同步

3. 跨平台兼容:原生支持macOS、Linux、Windows,自动适配各平台的进程管理命令

4. 零配置发现:HTTP服务器IP自动检测,默认端口可覆盖,开箱即用

5. 细粒度控制:可选同步/异步播放,支持自定义媒体目录,返回详细状态报告

潜在局限

  • 网络依赖:要求运行设备与Sonos处于同一局域网,无法跨NAT或远程控制
  • 格式限制:依赖Sonos原生支持的音频格式(MP3、AAC等),需ffprobe检测时长
  • 服务特定行为:Spotify Radio、TuneIn等流媒体不支持seek定位,只能从头恢复
  • Python环境:需预装Python 3及soco库,对非技术用户有一定门槛
  • 端口占用:默认8888端口可能被占用,需手动配置SONOS_HTTP_PORT

适合人群

  • 家庭自动化爱好者(Home Assistant、OpenClaw等场景)
  • 需要定时播报、门铃通知、语音提醒的智能家庭用户
  • 开发者为Sonos集成TTS(如ElevenLabs、Coqui)、音效板(soundboard)功能
  • 多房间音乐系统的技术管理员

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 网络中断 | 播放过程中断网导致状态恢复失败 | 确保Wi-Fi稳定性,避免大文件传输期间使用 |
| 状态误判 | 第三方流媒体协议变更导致恢复异常 | 保持`soco`库更新,关注社区issue |
| 端口冲突 | HTTP服务器启动失败 | 检查`SONOS_HTTP_PORT`环境变量,更换端口 |
| 权限问题 | Windows后台进程管理需适当权限 | 以标准用户运行,避免UAC拦截 |

该技能属于本地网络控制工具,不涉及云端API或数据外传,安全边界清晰,适合可信家庭网络环境部署。

Sonos Announce 内容

手动下载zip · 6.5 kB
SKILL.mdtext/markdown
请选择文件