首页 > 解决方案 > 添加节目电台

问题描述

我正在遵循“添加编程无线电”指南。几个月前我被困住了。并认为我会再试一次,因为 10.2 版本特别提到了它。

我正在使用 Android 上的 Sonos 应用程序和 Sonos ONE(gen1 10.3)进行测试

我无法让扬声器向 cloudqueue 无线电端点发出任何上下文请求。

当清单文件定义了无线电端点时。我收到错误“无法播放所选项目”(并且没有向 smapi 或 cloudqueue 服务器发出请求)

如果我删除无线电端点,它会调用 smapi 服务器。

这是我用来创建可以触发无线电端点的项目的肥皂响应。

我想知道 mediaMetadata 响应是否正确。

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
    <ns2:getMetadataResponse
        xmlns:ns2="http://www.sonos.com/Services/1.1">
        <ns2:getMetadataResult>
            <ns2:index>0</ns2:index>
            <ns2:count>1</ns2:count>
            <ns2:total>1</ns2:total>
            <ns2:mediaMetadata>
                <ns2:id>prad:87</ns2:id>
                <ns2:itemType>program</ns2:itemType>
                <ns2:title>radio channel a</ns2:title>
            </ns2:mediaMetadata>
        </ns2:getMetadataResult>
    </ns2:getMetadataResponse>
</SOAP-ENV:Body>

我已经设置了代理,因此我可以监控流量和有效负载。在示例服务器中播放示例曲目时,我确实看到了对报告端点的一些调用。但从未见过对无线电端点的单个呼叫。

下面是清单。它只是文档中内容的副本。

{
  "schemaVersion": "1.0",
  "endpoints": [
    {
      "type": "reporting",
      "uri": "https://1222b45e.ngrok.io/flight/radioz/"
    },{
      "type": "radio",
      "uri": "https://1222b45e.ngrok.io/flight/radiox/"
    }
  ],
  "presentationMap": {
    "uri": "https://1222b45e.ngrok.io/flight/assets/presentationmap.xml",
    "version": 2
  },
  "strings": {
    "uri": "https://1222b45e.ngrok.io/flight/assets/strings.xml",
    "version": 2
  }
}

标签: sonos

解决方案


这里有一些提示可能会有所帮助:

  1. 您的清单端点是什么?是 HTTPS 吗?如果没有,则播放器将不会下载它。但是,由于您收到对报告端点的调用,因此可能不是这样。
  2. 您的radio端点是什么样的?它是否以 a 结尾/?如果没有,您将不会收到请求。这是正在解决的 Sonos 端的错误。

希望这可以帮助!


推荐阅读