2017-02-22 36 views
0

Я занимаюсь разработкой музыкальной службы для Sonos и все работает. Проблема, с которой я столкнулась, - это Sonos, который запрашивает только 99 элементов через вызов getMetadata, некоторые из моих библиотек содержат более 300 дорожек, поэтому я хотел бы перечислить их все.Sonos getMetadata request 100+ items

Я не могу найти что-либо в документации Sonos api о том, как перечислить 100 или более элементов, но я предполагаю, что это возможно, потому что их справочная страница для getScrollIndices (http://musicpartners.sonos.com/node/103) ссылается на библиотеку, которая намного превышает 100 треков.

ответ

1

Вы можете установить номер по умолчанию, запрошенный в вызове getMetadata, установив значение BrowseOptions.PageSize в нечто более подходящее для вашей службы в файле presentationmap.xml.

т.д .:

<?xml version="1.0" encoding="utf-8" ?> 
<Presentation> 
    <!-- I chose 400 based on your 300+ value in the question. --> 
    <BrowseOptions PageSize="400" /> 
</Presentation> 

Вы можете найти документацию по ссылке ниже. Прокрутите вниз до «Обзор Параметры»:

http://musicpartners.sonos.com/node/222

И вы можете найти документацию о том, как настроить Sonos читать вашу презентацию карты во время локального тестирования здесь:

http://musicpartners.sonos.com/node/134

В сущности, вы необходимо разместить XML-файл на сервере (часто тот же сервер, на котором размещен ваш код API Sonos), и настроить URL-адрес в форме customSD, которая указывает непосредственно на файл presentationmap.xml.

Примечание: Sonos кэширует файл XML для повышения производительности. Когда вы меняете файл, вы должны увеличить версию в форме customSD, чтобы контроллеры Sonos принудительно перезагрузили. Это объясняется в записи «Версия» в документации:

http://musicpartners.sonos.com/node/134