一个 Sonos 音乐 API (SMAPI) 实现,在测试期间服务无法播放音乐与服务的连接丢失

Posted

技术标签:

【中文标题】一个 Sonos 音乐 API (SMAPI) 实现,在测试期间服务无法播放音乐与服务的连接丢失【英文标题】:A Sonos Music API (SMAPI) implementation, during the test service getting unable to play music connection to service was lost 【发布时间】:2021-12-23 12:43:42 【问题描述】:

php 中设置了具有静态值的虚拟服务,直到 getMediaURI 方法一切正常意味着获取该列表,并且除了单击项目以在 Sonos 扬声器中播放歌曲之外,由于服务丢失错误而无法播放音乐。

【问题讨论】:

您是要我们调试您的服务吗?观察它得到的 REST 调用,看看是否有任何返回错误,冲洗并重复,直到没有。如果您愿意,可以在此处发布电话,但需要的不仅仅是此描述以提供更多帮助。 附上快照供参考drive.google.com/file/d/1pXnbpsvwROXxJkVMGr7fU7U_jt3AQqVx/…drive.google.com/file/d/1WGk0NMLHINT2MCpcZ9bB6mutLJYsnAm6/…drive.google.com/file/d/1uq1EIG3NJ-gLl7wU_8EHwUh8qra2YHbu/… 还有帮助您获得更好想法的链接。 upgrade.ichillmusic.com/sonoscallback.phpupgrade.ichillmusic.com/strings.xmlupgrade.ichillmusic.com/pmap.xml 虚拟请求详情drive.google.com/file/d/1iswPFwn5amvFbiR7srFf83jh9Whxq_EQ/… 【参考方案1】:

我在您的示例中注意到<id> 格式似乎不一致。格式有时为<ns:id>track61</ns:id>,有时用冒号分隔<ns1:id>track:610294458</ns1:id>。如果请求的<id> 与响应中的<id> 不匹配,SMAPI 经常会阻塞。

我只看到<ns:getMediaURIResponse> 而不是请求(其他 SMAPI 调用也是如此),所以我不确定这是否是您正在做的事情。只要确保如果 Sonos 客户端请求 <id>track:123</id>,您的响应中 <id> 的值完全匹配。

【讨论】:

感谢您的支持,其实我的前缀有误,应该统一。你的最后一行让我很开心。

以上是关于一个 Sonos 音乐 API (SMAPI) 实现,在测试期间服务无法播放音乐与服务的连接丢失的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Sonos 家庭获取音乐源列表?

在一个 Sonos 音乐合作伙伴帐户下发布多项服务

Sonos 音乐服务自定义主屏幕,如 Spotify

Sonos API:播放Spotify的服务令牌

Sonos cancelAudioClip API 返回 415 HTTP 响应

通过 API 启用 Sonos 麦克风