как запустить облачную очередь с сервера smapi? - PullRequest
0 голосов
/ 04 мая 2019

Попытка настроить музыкальный сервис на Sonos.Я следовал руководству Sonos для запрограммированного радио.

https://developer.sonos.com/build/content-service-add-features/add-programmed-radio/

Но не уверен, что следует вернуть серверу smapi, чтобы игрок использовал конечные точки, объявленные в манифесте.

Это будет третий шаг вэто изображение.

https://developer -assets.ws.sonos.com / doc-assets / prog_radio_seq10_review.png

Я пытался добавить радио в качестве itemType ииспользуя некоторые из существующих типов, но до сих пор у меня не получалось, чтобы проигрыватель делал какие-либо запросы к серверу облачной очереди.

<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>2</ns2:count>
                <ns2:total>2</ns2:total>
                <ns2:mediaCollection>
                    <ns2:id>smapicontainer:31</ns2:id>
                    <ns2:itemType>radio</ns2:itemType>
                    <ns2:title>radio collection</ns2:title>
                </ns2:mediaCollection>
                <ns2:mediaMetadata>
                    <ns2:id>smapicontainer:32</ns2:id>
                    <ns2:itemType>radio</ns2:itemType>
                    <ns2:title>radio metadata</ns2:title>
                </ns2:mediaMetadata>
            </ns2:getMetadataResult>
        </ns2:getMetadataResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

, ожидая увидеть некоторые вызовы к конечной точке для типа радиосвязи.Это заявлено в манифесте.Кажется, что манифест настроен правильно, так как он получает вызовы / radio / timePlayed при воспроизведении дорожек сэмплов.

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

обновлен ответ smapi с mediaMetaData с программой itemType.Кажется, что-то по-прежнему отсутствует, поскольку конечная точка "радио" манифеста предотвращает вызовы на сервер smapi.Но он все еще не делает никаких запросов к конечной точке, связанной с радио.Я получаю оповещения «невозможно воспроизвести выбранный элемент», когда элементы выбраны.

<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>3</ns2:count>
                <ns2:total>3</ns2:total>
                <ns2:mediaMetadata>
                    <ns2:id>prad:32</ns2:id>
                    <ns2:itemType>program</ns2:itemType>
                    <ns2:title>radio channel a</ns2:title>
                </ns2:mediaMetadata>
                <ns2:mediaMetadata>
                    <ns2:id>smapicontainer:33</ns2:id>
                    <ns2:itemType>program</ns2:itemType>
                    <ns2:title>radio channel b</ns2:title>
                </ns2:mediaMetadata>
                <ns2:mediaMetadata>
                    <ns2:id>radio:34</ns2:id>
                    <ns2:itemType>program</ns2:itemType>
                    <ns2:title>radio channel c</ns2:title>
                </ns2:mediaMetadata>
            </ns2:getMetadataResult>
        </ns2:getMetadataResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Ниже приведен единственный трафик, который я могу генерировать до конечных точек в файле манифеста.Ничего подобного для радио, но получайте некоторые для отчетов, если я проиграю один из треков сэмплов, включенных в сервер сэмплов smapi. изображение трафика до конечной точки

1 Ответ

0 голосов
/ 06 мая 2019

Вы должны возвращать массив mediaMetadata объектов для getMetadataResponse, с itemType из program.Смотри https://musicpartners.sonos.com/node/286

...