问题标签 [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.
https - Sonos 客户端证书
我对 Sonos 的客户证书有疑问。我在官方文档页面中没有找到任何提及它的内容。
扬声器是否会根据请求自动发送客户端证书,getMediaUri
或者服务器是否需要在 SSL 协商中要求它?
如果演讲者一直发送客户端证书会很好,因为如果服务器需要在安全端点上明确要求客户端证书,这意味着其他 API 会受到影响(createItem
例如),而唯一真正需要保护的东西是流媒体网址。
sonos - Sonos 搜索永远无法用于自定义 SD 音乐服务
我们正在按照 Sonos API 文档中的说明向 Sonos 上的音乐服务添加搜索功能,但是在使用 Windows Sonos 桌面应用程序进行测试时,我们的应用程序没有可用的搜索功能。
演示地图
使用 SoapUI,手动测试 getMetadata(search) 返回:
并且搜索(搜索参数)返回有效条目。
搜索的自检也通过了所有测试。将音乐服务添加到播放器 (customSD) 时,选择“搜索”功能。
有什么我做错了吗?我错过了一步吗?
我尚未使用 android/iOS 控制器应用程序进行测试。
android - 从 Android 投射到 Sonos 扬声器
在我正在使用的应用程序中,我们目前支持 Chromecast,但我们有兴趣添加对投射到 Sonos 扬声器的支持,就像在 Play Music 中所做的那样。
使用 MediaRouter 列出可用路由时,我看到了到我们所有 Sonos 组和 Chromecast 的路由,但是虽然我可以选择到 Chromecast 的路由,但我不能对到 Sonos 扬声器的路由执行相同的操作。
我试图在Sonos Labs网站上找到有关此的更多信息,但找不到与 Android 相关的任何内容。
我们的应用程序是否需要任何东西来支持这一点?是否可以在不将我们的服务与 Sonos API 集成的情况下进行投射,或者这是能够从我们自己的应用程序投射的第一步?
sonos - Sonos 播放器未调用 GetStreamingMetadata
我有一个使用 HLS 的实时广播流,我想在播放歌曲时显示曲目/艺术家信息。
据我从 API 文档和问题Streams 中了解到的 -如果我们将 hasOutOfBandMetadata 设置为 true,则应该为 HLS 调用 hasOutOfBandMetadata 和 getStreamingMetadata。
我们返回的 mime 类型是“application/vnd.apple.mpegurl”。
getMetaData 返回一个频道列表,我们在其中使用类似这样的内容构建每个频道
并且 getMediaMetadata 返回
使用此配置,我看不到任何对 getStreamingMetadata 的调用。
谢谢
sonos - Sonos API 文档中“隐藏”了一些页面
Sonos API 文档中的一些节点链接到其他一些无法访问的节点,因为它们返回“403 Forbidden”响应:
1) http://musicpartners.sonos.com/node/134 链接到 /node/146
2) http://musicpartners.sonos.com/node/407 链接到/node/218
3) /node/434 链接到 /node/110 和 /node/218
请使这 3 个页面可访问(/node/110、/node/146、/node/218)。
sonos - 为什么 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败
我已经运行了这里可用的 Sonos Self-Test Suite ,除了这个错误之外,一切都通过了,我不知道为什么:
这是我的服务返回的内容:
它似乎与Sonos API 文档中的示例响应几乎相同。您可以看到 pollInterval 没有在 SOAP XML 中指定类型信息,所以我正在努力了解这个错误是如何由于我正在做的事情引起的。
我做错了什么,或者这可能是测试套件本身的问题吗?
sonos - Sonos Music API 实现“无法浏览音乐”错误
我正在尝试实现 SMAPI 服务,但遇到了一些问题。
我构建了一个“假”服务,它为这些端点提供硬编码的响应:
- 获取媒体URI
- 获取最后更新
- 获取媒体元数据
- 获取元数据
- 获取扩展元数据
- 获取会话 ID
我已按照说明添加自定义服务,保持所有功能未选中。
我看到我的 Sonos iPhone 应用程序中列出了我的新测试服务,但是当我选择它时,我看到一个屏幕显示“无法浏览音乐”。
我不确定如何调试正在发生的事情,所以感觉就像我在黑暗中刺伤。我不想投机地做出可能与问题无关的更改 - 这似乎是浪费大量精力的秘诀。
有没有办法查看 Sonos Controller 应用程序(客户端)出现的错误?我查看了http://[device ip]:1400/support/aggregate
日志,但没有看到任何提及我的服务的域名,也没有看到任何似乎相关的内容。
我知道(至少有一些)请求正在影响我的服务,特别是调用getLastUpdate
and getMetadata
。这是日志的输出:
任何帮助将不胜感激!
更新 这是使用 SoapUI 对我的假服务发出请求的输出:
/li>getLastUpdate
/li>getSessionId
/li>getMetadata
/li>getExtendedMetadata
/li>getMediaMetadata
/li>getMediaURI
android - 多个主机/每个应用主机/动态主机文件,Android
我特别有一个应用程序(Sonos Controller)不能很好地处理大小为 9+ MB 的自定义主机文件。其他应用程序,例如。eBay 应用程序依赖于一些内部广告网络查找,因此甚至不会加载。
所以问题是,你能以某种方式强制某个应用程序使用特定的主机文件吗?也许通过符号链接或防火墙?
目前,我已设置 Tasker 在应用加载时将临时干净的主机文件复制到 \etc\hosts。退出时,Tasker 将恢复自定义主机文件。这可行,但似乎是一种相当粗糙的方法。
编辑:Sonos Controller 应用程序无法与自定义主机文件一起使用的原因是,每次单击任何内容时它都会在主机文件中进行查找。
sonos - 现在设备 ID 已被弃用,还有其他方法可以识别客户端吗?
从6.2版开始,设备 ID 已被弃用。是否有另一种方法来唯一标识正在使用我的服务的客户?什么样的标识符并不重要。它对客户来说必须是独一无二的。
sonos - customd 服务未命中服务器进行 GetSessionId 调用
这本质上是Can not add account for custom Sonos service的副本,但没有可接受的答案,我无法添加评论以询问他们是否解决了他们的问题。
我继承了一个项目并正在尝试添加开发服务。我已经通过 /customsd.htm 对其进行了配置,将标头策略设置为 Session ID,让安全和不安全的端点都工作。
当我去添加频道时,我看到了对 strings.xml 的请求。但是,我从来没有看到任何请求进入 getSessionId。同时 SONOS 报告“未找到帐户。***** 服务器未识别您的登录信息。” 我可以使用 SoapUI 发出请求,并且得到有效响应。
如果值得一提,我在 SONOS 的 beta 程序中,并且在 6.2 版本中,构建 31926010(Mac 桌面应用程序)。
更新:
虽然我不确定这里有什么有用的,但查看日志[deviceIP]:1400/support/aggregate
,我看到以下内容。请注意,编辑后的 URL 和 IP 确实可以解析。IP 用于负载均衡器,URL 在它后面。
更新#2:
我通过 Wireshark 检查了数据包,生产服务和开发服务的行为似乎相同,除了生产服务,控制器/我的计算机在服务器挂断之前启动了对 Sonos 的 POST 请求。所附图像中以红色标出的该过程不会发生在海关服务中。
我还尝试在 customd 配置中使用生产服务端点,但该请求以同样的方式失败。FWIW,所有 ssl_validation 测试都通过了,各种内容测试也是如此。