问题标签 [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.

0 投票
1 回答
108 浏览

https - Sonos 客户端证书

我对 Sonos 的客户证书有疑问。我在官方文档页面中没有找到任何提及它的内容。

扬声器是否会根据请求自动发送客户端证书,getMediaUri或者服务器是否需要在 SSL 协商中要求它?

如果演讲者一直发送客户端证书会很好,因为如果服务器需要在安全端点上明确要求客户端证书,这意味着其他 API 会受到影响(createItem例如),而唯一真正需要保护的东西是流媒体网址。

0 投票
2 回答
97 浏览

sonos - Sonos 搜索永远无法用于自定义 SD 音乐服务

我们正在按照 Sonos API 文档中的说明向 Sonos 上的音乐服务添加搜索功能,但是在使用 Windows Sonos 桌面应用程序进行测试时,我们的应用程序没有可用的搜索功能。

演示地图

使用 SoapUI,手动测试 getMetadata(search) 返回:

并且搜索(搜索参数)返回有效条目。

搜索的自检也通过了所有测试。将音乐服务添加到播放器 (customSD) 时,选择“搜索”功能。

有什么我做错了吗?我错过了一步吗?

我尚未使用 android/iOS 控制器应用程序进行测试。

0 投票
1 回答
1583 浏览

android - 从 Android 投射到 Sonos 扬声器

在我正在使用的应用程序中,我们目前支持 Chromecast,但我们有兴趣添加对投射到 Sonos 扬声器的支持,就像在 Play Music 中所做的那样。

使用 MediaRouter 列出可用路由时,我看到了到我们所有 Sonos 组和 Chromecast 的路由,但是虽然我可以选择到 Chromecast 的路由,但我不能对到 Sonos 扬声器的路由执行相同的操作。

我试图在Sonos Labs网站上找到有关此的更多信息,但找不到与 Android 相关的任何内容。

我们的应用程序是否需要任何东西来支持这一点?是否可以在不将我们的服务与 Sonos API 集成的情况下进行投射,或者这是能够从我们自己的应用程序投射的第一步?

0 投票
1 回答
139 浏览

sonos - Sonos 播放器未调用 GetStreamingMetadata

我有一个使用 HLS 的实时广播流,我想在播放歌曲时显示曲目/艺术家信息。

据我从 API 文档和问题Streams 中了解到的 -如果我们将 hasOutOfBandMetadata 设置为 true,则应该为 HLS 调用 hasOutOfBandMetadata 和 getStreamingMetadata。

我们返回的 mime 类型是“application/vnd.apple.mpegurl”。

getMetaData 返回一个频道列表,我们在其中使用类似这样的内容构建每个频道

并且 getMediaMetadata 返回

使用此配置,我看不到任何对 getStreamingMetadata 的调用。

谢谢

0 投票
1 回答
239 浏览

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)。

0 投票
1 回答
92 浏览

sonos - 为什么 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败

我已经运行了这里可用的 Sonos Self-Test Suite ,除了这个错误之外,一切都通过了,我不知道为什么:

这是我的服务返回的内容:

它似乎与Sonos API 文档中的示例响应几乎相同。您可以看到 pollInterval 没有在 SOAP XML 中指定类型信息,所以我正在努力了解这个错误是如何由于我正在做的事情引起的。

我做错了什么,或者这可能是测试套件本身的问题吗?

0 投票
2 回答
403 浏览

sonos - Sonos Music API 实现“无法浏览音乐”错误

我正在尝试实现 SMAPI 服务,但遇到了一些问题。

我构建了一个“假”服务,它为这些端点提供硬编码的响应:

  • 获取媒体URI
  • 获取最后更新
  • 获取媒体元数据
  • 获取元数据
  • 获取扩展元数据
  • 获取会话 ID

我已按照说明添加自定义服务,保持所有功能未选中

我看到我的 Sonos iPhone 应用程序中列出了我的新测试服务,但是当我选择它时,我看到一个屏幕显示“无法浏览音乐”。

我不确定如何调试正在发生的事情,所以感觉就像我在黑暗中刺伤。我不想投机地做出可能与问题无关的更改 - 这似乎是浪费大量精力的秘诀。

有没有办法查看 Sonos Controller 应用程序(客户端)出现的错误?我查看了http://[device ip]:1400/support/aggregate日志,但没有看到任何提及我的服务的域名,也没有看到任何似乎相关的内容。

我知道(至少有一些)请求正在影响我的服务,特别是调用getLastUpdateand getMetadata。这是日志的输出:

任何帮助将不胜感激!

更新 这是使用 SoapUI 对我的假服务发出请求的输出:

  1. getLastUpdate

    /li>
  2. getSessionId

    /li>
  3. getMetadata

    /li>
  4. getExtendedMetadata

    /li>
  5. getMediaMetadata

    /li>
  6. getMediaURI

    /li>
0 投票
0 回答
563 浏览

android - 多个主机/每个应用主机/动态主机文件,Android

我特别有一个应用程序(Sonos Controller)不能很好地处理大小为 9+ MB 的自定义主机文件。其他应用程序,例如。eBay 应用程序依赖于一些内部广告网络查找,因此甚至不会加载。

所以问题是,你能以某种方式强制某个应用程序使用特定的主机文件吗?也许通过符号链接或防火墙?

目前,我已设置 Tasker 在应用加载时将临时干净的主机文件复制到 \etc\hosts。退出时,Tasker 将恢复自定义主机文件。这可行,但似乎是一种相当粗糙的方法。

编辑:Sonos Controller 应用程序无法与自定义主机文件一起使用的原因是,每次单击任何内容时它都会在主机文件中进行查找。

0 投票
1 回答
151 浏览

sonos - 现在设备 ID 已被弃用,还有其他方法可以识别客户端吗?

6.2版开始,设备 ID 已被弃用。是否有另一种方法来唯一标识正在使用我的服务的客户?什么样的标识符并不重要。它对客户来说必须是独一无二的。

0 投票
1 回答
208 浏览

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 请求。所附图像中以红色标出的该过程不会发生在海关服务中。

GetSessionId 尝试的 Wireshark 输出

我还尝试在 customd 配置中使用生产服务端点,但该请求以同样的方式失败。FWIW,所有 ssl_validation 测试都通过了,各种内容测试也是如此。