问题标签 [sonos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
integration - 访问内容容器时出现“没有可用的选择”错误
我在与 Sonos 进行后端集成时遇到问题。
- API已经按照Sonos提供的WSDL实现
- API 返回容器 X 的数据
- 所有测试均在 Sonos 的自测工具中通过
但是,当我尝试将集成提交给 Sonos 进行审核时,我收到了来自 Sonos 的提交拒绝,原因如下:
- 访问 X 容器中的内容时“没有可用的选择”。
问题是官方文档(和拒绝消息)没有关于此类错误消息的任何详细信息。
那是什么意思?
编辑:
getMetadata 请求(来自自测工具的 smapiConfig-DEBUG.log):
获取元数据响应:
sonos - Sonos API - 无法播放 AAC 流
我正在尝试通过我的服务实现播放 aac 流。我在 MediaMetadata 中将 mime 类型设置为 audio/aac。然而,控制器仅显示通用Track 未正确编码消息。
有没有办法进一步解决这个问题?这怎么编码不正确?
这是我正在使用并传入的示例文件getMediaURI()
http://download.npr.org/npr-mp4/nprone/hello/amidst1/232.mp4
谢谢!
sonos - 为 Sonos 实现自定义项目显示后 Python 自测套件中的错误
我按照Sonos 文档中关于自定义项目显示的说明为我的音乐服务实现了自定义项目显示。
当我运行 Python Self Test 套件时,出现以下错误:
Element 'PresentationMap', attribute 'type': [facet 'enumeration'] The value 'DisplayType' is not an element of set {'NowPlayingRatings', ' ListOverlays'、'InfoView'、'ArtWorkSizeMap'、'BrowseIconSizeMap'、'Search'}。
请注意,我将测试套件中的 Sonos.wsdl 文件替换为来自 Sonos 网站 ( Sonos.wsdl ) 的文件,因为该文件包含与“displayType”相关的更改。
这是我的 Presentation Map xml 文件的样子:
另请注意,当我从 Presentation Map xml 文件中删除 DisplayType 标记时,该错误不再出现,但当然,如果没有我实现的自定义项目显示,显示将恢复正常。
我认为错误正在显示,因为测试套件中的presentationmap.xsd 不包含DisplayType。如何解决此问题以通过测试并避免此错误,同时保持我实现的自定义项目显示?
sonos - 开发人员可以使用什么 API 来播放/暂停/停止音乐
我正在浏览文档并正在寻找可以从控制台应用程序调用以播放/暂停或停止音乐的 API。我假设 Sonos 就像 Philips Hue 一样,它要求设备在同一个本地网络中。
任何帮助,将不胜感激。谢谢
sonos - 无法为自定义 Sonos 服务添加帐户
我创建了一个 Sonos 音乐服务,并使用 customd 将其添加到我的扬声器中。两个端点 url(常规和安全)都可用。服务已成功添加到扬声器。
使用 SoapUI,我可以为 GetSessionId 发送一个 https 请求,它会返回一个有效的响应。
我使用 sessionId 身份验证,因此当我想将我的帐户添加到 Sonos 中的服务时,该服务会要求输入用户名和密码。填写后出现连接错误。添加帐户时出现问题。无法进行连接。
问题是,我希望有一个“GetSessionId”请求进入我的音乐服务(所以我可以调试该请求),但似乎什么也没有。
谁能告诉我为什么或发生了什么?
integration - Sonos 集成:缺少用户内容(当有其他内容时)
我在与 Sonos 的后端集成方面遇到了下一个问题。
根集合包含一些集合,如精选播放列表、精选版本、我的播放列表、收藏曲目、收藏版本。
前两个集合包含数据,并且在 Sonos 控制器上可见。但其他“用户”集合在 Sonos 上是空的。
API 的响应是相同的,两者都有数据。请参阅下面的请求/响应(来自自测试工具)。
MediaCollection 定义:
请求 1 (WORKS): getMetadata(FEATURED_PLAYLISTS, 0, 100, None)
回应1:
请求 2(不工作):getMetadata(FAVOURITE_PLAYLISTS, 0, 100, None)
回应 2:
问题:为什么 Sonos 上缺少用户数据?
编辑1:
竞争 getMetadata 响应:
http - Sonos 扬声器需要内容长度标头吗?
我目前正在编写一个 DLNA 服务器,它为诸如 Sonos Play 1 和 3 之类的 DMR 提供流。
根据 HTTP 1.1 规范,当您不知道轨道的实际长度时,不要指定Content-Length
,而只需指定Connection: Close
。这应该使客户端读取流,直到服务器关闭连接。
这适用于 wav 和 flac 流。但是对于 mp3 和 ogg 流,我需要指定 aContent-Length
才能播放。否则,Sonos 客户端只会自行立即关闭连接。就我而言,它是计算机当前播放的实时流。因此不可能知道长度。只要电脑运行,就有内容可以播放。
我目前的解决方案是伪造内容长度并将其设置为荒谬的值(100gb)以使流永远播放。
我想知道这种行为,因为它适用于 wav 和 flac,但不适用于 mp3 和 ogg。
我究竟做错了什么?或者这只是与 HTTP 1.1 规范的偏差?
sonos - 空混音 Sonos 自定义错误处理
我们的客户有可能将他们定制的混合物分成一天。也就是设定一个起止时间。如果您尝试在下班时间播放混音,则不会返回任何歌曲,而是会弹出自定义错误消息。在编程时,按照您的 musicpartners 网站上的指示,我们通过引发如下所示的自定义 Soap 故障来处理这种情况:
但是,当使用 Sonos 访问混音非工作时间时,它不会显示我们的混音非工作时间消息,而是显示“与 SOUNDMACHINE 的连接已丢失”。
sonos - SMAPI 5.5 中有哪些新功能?
Sonos 5.5 beta 似乎以某种方式改变了 SMAPI。例如,Spotify 似乎知道客户端的本地时间,因为它会根据它更改对 getMetadata("root") 的响应,但是由于 Spotify uris 都是 https,我无法嗅探它们来查看。有谁知道发生了什么变化?
sonos - 什么是 SMAPI 上下文标头?
customd.htm 页面现在有这个选项:“在所有请求中包含 SMAPI 上下文标头”这是什么意思?什么是 smapi 上下文标头?