问题标签 [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 投票
0 回答
41 浏览

python-2.7 - SONOS - rateItem - 未触发“操作失败”

单击我的 SONOS 应用程序上的任一评级按钮会导致出现“操作失败”错误,我不知道为什么。除此以外,该应用程序的其他所有内容均按预期工作。

这是我的费率项目功能的代码。我正在使用 pysimplesoap 模块。

然后我注册它。

我错过了什么?

0 投票
1 回答
88 浏览

sonos - 如何检测 Sonos 音量变化

我可以在我的网络上设置 Sonos 的音量,以正确的信封/xml 格式发送 POST。

我想不通的是如何检测音量何时从另一个客户端更改。

我注意到,当我通过手机应用程序更改音量时,计算机上的控制器也会实时更改。我想复制这种行为。

我已经嗅探了网络,但在这方面我没有看到任何 http 调用,也许我错过了一些东西。我可以做任何我必须实施的事情,我只是不知道他们是如何做到的。

我确实看到了一些 tcp 数据包流式传输,但文档或线索也没有帮助。谢谢!

0 投票
0 回答
255 浏览

python - Python (SoCo) - 搜索亚马逊音乐

我正在使用 Soco 允许我的 python 脚本与我的 Sonos 系统一起使用。我可以在tunein上搜索电台没问题。但是,当我尝试在 Amazon Music 服务上执行任何类型的搜索时,我收到以下错误:

(删除了一堆错误行,将关键行留在了底部)

有谁知道我怎样才能让它工作,或者你能分享对亚马逊音乐的有效搜索吗?正如我所说,以上内容适用于其他服务,例如 TuneIn 广播。必须有办法让它工作,因为我可以通过控制器应用程序搜索播放列表没问题。

0 投票
2 回答
322 浏览

python - 在 Python 中使用 SoCo 搜索 Sonos 音乐库

我还有另一个 SoCo 问题,我真的希望有人能让我开始。

我真的把头发拉出来了。我究竟做错了什么?

get_music_library_information('artists', search_term='Metallica')我直接从文档中复制了出来。

0 投票
1 回答
1941 浏览

ios - Swift 发现 UPnP 设备?

我一直在网上搜索,发现可以通过带有 SOAP 主体的 POST 请求来控制 sonos 系统。

我的问题是 ..
如何使用 swift 代码发现 UPnP 设备?并弄清楚它是哪个设备?

提前致谢!

0 投票
0 回答
241 浏览

python - 如何使用 SoCo (python) 创建新组?

我想创建一个组并根据设备名称为其指定一个协调器。

这样做的原因是我想以编程方式在厨房(并且只有厨房)中播放特定歌曲,但该设备已经是组的一部分并且不是协调器。因此,我收到以下错误:

任何帮助将不胜感激。

谢谢

0 投票
1 回答
271 浏览

sonos - 获取广播流的元数据(曲目信息、艺术家姓名等)

我已经检查了以下链接,但它们并没有太大帮助(在括号中,我已经解释了为什么它在我的情况下不起作用,正如他们的答案中所建议的那样)

Streams - hasOutOfBandMetadata 和 getStreamingMetadata(我们的内容已经是 HLS)

Sonos 播放器未调用 GetStreamingMetadata(未调用 getMetdata,仅调用 getMediaMetada,因为无线电流具有唯一 id 且不是集合)

在 Sonos API 文档中提到“hasOutOfBandMetadata”已被弃用,建议将元数据嵌入到内容中。然而,由于某些限制,它无法在我们的服务中实现,因此我必须采用旧方式本身(无论它是什么)。

我想,理想情况下,应该在将“hasOutOfBandMetadata”设置为 true 之后调用“getStreamingMetadata”,但它没有发生。其次,出于测试目的,我为不同的值设置了“secondsRemaining”和“secondsToNextShow”,以发现这些不同的时间间隔也显示“description”(如果我将 secondsRemaining/secondsToNextShow 设置为 20,那么 description 将显示 20 秒,如果设置为 200,则持续 200 秒,以此类推)。时间流逝后,“描述”中的信息消失了。所以我想一定有一些调用会在时间流逝后刷新元数据,但无法确定是哪个调用。请解释什么是获取连续无线电流元数据的正确方法。其元数据随着轨道变化而更新。即使他们在内容中使用元数据,也必须有某种方法来实现这一点。

0 投票
0 回答
220 浏览

node.js - Docker for Mac 主机网络访问

我正在运行最新的 docker for mac 构建,并启动并运行了许多基于 docker-compose 的应用程序 - 所有应用程序都接受从我的本地网络调用。

我现在正在尝试实现一个 node.js 应用程序,该应用程序需要网络访问来扫描主机的网络以及响应端口 5005。

谁能给我看一个允许以下网络的 docker-compose.yml 文件:

本地网络:192.168.123/24路由器192.168.123.1

Docker for Mac 在我的 macbook 上运行,地址为 192.168.123.118

在我的网络内部http://192.168.123.118:5005应该响应节点对容器的请求。

容器需要扫描本地网络来寻找服务。

我已经尝试过将默认、桥接和主机网络与一两个接口组合在一起,但只是感到困惑。

容器真的可以成为主机网络的一部分吗?

我似乎记得在 virtualbox 上运行 docker 时这是可以实现的。

我要配置的实际代码是 https://github.com/jishi/node-sonos-http-api 我不认为代码有问题,只是我试图创建的环境。

我正在尝试运行的项目是 Sonos 控制器应用程序:

这是我的 Dockerfile 和 docker-compose.yml 文件以及构建 Sonos 控制器应用程序的命令

docker-compse.yml

声诺斯/Dockerfile

在此之后我可以启动控制器:

输出是:

最后一行是响应这个请求: http://localhost:5005/zones

我觉得在主机模式下运行的 Sonos 容器无法看到我的本地网络以发现我的 Sonos 扬声器。

0 投票
1 回答
57 浏览

internationalization - Sonos SMAPI:如何使容器国际化?

我正在尝试通过 Sonos 验证我们的音乐服务的 SMAPI。自动化测试通过。我现在从 Sonos 支持中获得了类似于手动 QA 测试的结果。

在“浏览”类别中,名为“是否为所有容器提供英文翻译?”的测试 被标记为失败,并带有“服务为德语”的通知。我们正在通过分层mediaCollections 来构建我们的音乐服务内容。由于我们是一家德国公司,因此容器(主要是音乐流派)具有德语名称。

如果需要,我们很乐意提供英文翻译,但我似乎找不到应该如何在 Sonos SMAPI 文档中添加这些翻译。

有人可以指出我正确的方向吗?

0 投票
1 回答
100 浏览

sonos - Sonos SMAPI:如何将曲目/艺术家信息正确发布为广播式音乐服务?

我正在尝试通过 Sonos 验证我们的音乐服务的 SMAPI。自动化测试通过。我现在从 Sonos 支持中获得了类似于手动 QA 测试的结果。

在“Now Playing/Queue”类别中,名为“On Now 下是否正确显示曲目/艺术家信息?”的测试 被标记为失败,并显示“曲目和艺术家显示在“信息”下,而“现在”部分为空白。. 我提供的是连续的无线电类型流,而不是单轨。

我无法将提到的“信息”和“现在”部分(可能是指他们的控制器应用程序的 GUI)与我正在实现的 API 相关联。事实上,我们不会通过 SMAPI 提供任何艺术家/曲目信息,因为这些信息是由控制器从 http 流的元数据中提取的。

所以我想知道为什么他们抱怨这些信息显示在哪里,因为我似乎对此没有任何影响。

有人可以指出我正确的方向吗?