Sonos getMetadata请求100多个项目

时间:2017-02-22 16:19:43

标签: soap sonos

我一直在为Sonos开发音乐服务,并且已经开始运行。我遇到的问题是Sonos只通过它的getMetadata调用请求99个项目,我的一些库有300多个轨道,所以我最好将它们全部列出来。

我在Sonos api文档中找不到关于如何列出100个或更多项目的任何内容,但我认为这是可能的,因为他们的getScrollIndices(http://musicpartners.sonos.com/node/103)的参考页面暗示了一个比100首曲目。

1 个答案:

答案 0 :(得分:1)

您可以通过在presentationmap.xml文件中将getMetadata值设置为更适合您服务的值来设置BrowseOptions.PageSize来电中请求的默认项目数。

E.g:

<?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

实际上,您需要在服务器(通常是托管Sonos API代码的服务器)上托管XML文件,并在customSD表单中配置直接指向presentationmap.xml文件的URL。

注意:Sonos会缓存XML文件以提高性能。更改文件时,必须在customSD表单中增加版本,以便Sonos控制器强制重新加载。这在文档中的“版本”条目中进行了解释:

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