首页 > 解决方案 > 如何从 Sonos 家庭获取音乐源列表?

问题描述

我正在尝试获取 Sonos 家庭订阅的音乐服务列表。是否可以从 HTTP API 或任何其他来源获取此类信息?如果是,那么在什么条件下?

我已经分析了 Sonos Connect 和 Windows Sonos Controller 之间的流量。我发现,有关音乐服务的信息是在 NOTIFY HTTP 请求的 ThirdPartyMediaServersX 标记内从 Connect 传输到 Controller 的。但是这个内容是用类似base64的密码编码的。

<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
<e:property>
<ThirdPartyMediaServersX>
2:oZoYgaU5pqEq6IauQ1hYVS0oCUJnqbCkJL1vXP/DoeijejEwUBQT8UG0CksUG9VcarvLhCyElhKTUjfhQt0SAcV2oBOyLJ5BCmjd7TcJfPrVuTGHczd5/AS2tgj85n0U9yU9EwwHROFb5uV09syZNLVaZuJnENCWRKatIq1SNMm1SE4tHneLG6ULQoDOR50nf7TwyRQbkit8Bvy+kZyNPlrgBZFGmizoRmYjW8COFvHJpZhREEGruhQ2J6A8gnQOWyFzstAyHNZeLqp2xcNGnts6f2DQ56r/ducstbibFH0SZOZC0XM/BB4DvOT8UalezPL0R9/s8Jibm5T6mS1FWk14GWg2RMmRBIVE5G/gG2c=
</ThirdPartyMediaServersX>
</e:property>
</e:propertyset>

我希望获得音乐服务列表,但实际列表被隐藏了。

标签: sonos

解决方案


如您所见,Sonos 前段时间禁用了此功能。

我花了很多时间弄清楚它是如何工作的,现在我有了一个“工作循环”。外部音乐服务描述了要做什么。

而且sonos-ts支持外部音乐服务。如果你阅读了我的第一个链接并检查了这个库中的代码,你应该能够弄清楚如何用你的编程语言来做到这一点。

我知道这无法访问 Sonos 保存的列表,但这个工作循环也将令牌保存在设备上供每个客户端应用程序使用。

最近我找到了一个构建音乐服务模拟器的人。所以这是外部音乐服务的双方。


推荐阅读