有人可以解释如何配置 Sonos 演示地图以通过 pmap 调整 ArtSize URI。我们的基本网址是:
http://....../load_albumart.php?album_id=12&size=200
例如,我不明白如何配置 pmap 以替换 600 中的 200。
有人可以解释如何配置 Sonos 演示地图以通过 pmap 调整 ArtSize URI。我们的基本网址是:
http://....../load_albumart.php?album_id=12&size=200
例如,我不明白如何配置 pmap 以替换 600 中的 200。
专辑封面的 PresentationMap 就像一个正则表达式。当控制器想要一个 200x200 的图像时,它将搜索albumArtUri
元素并将您配置为 size 的字符串替换substitution
。
在您的情况下,您有基于您的示例的这些 URL:
然后,您的演示图将识别每个分辨率的替换规则。在您的情况下,类似于:
<PresentationMap type="ArtWorkSizeMap">
<Match>
<imageSizeMap>
<sizeEntry size="200" substitution="size=200"/>
<sizeEntry size="600" substitution="size=600"/>
<sizeEntry size="XXXX" substitution="size=XXXX"/>
</imageSizeMap>
</Match>
</PresentationMap>
并且包含 an 的默认 SMAPI 响应albumArtUri
将包含默认大小,如下所示:
<trackMetadata>
<albumId>12</albumId>
<duration>253</duration>
<artistId>artist0001</artistId>
<artist>Saratoga Indiana</artist>
<album>Forgiveness & Gratefulness</album>
<albumArtUri>http://.../load_albumart.php?album_id=12&size=200</albumArtUri>
</trackMetadata>
在这种情况下,如果控制器具有高分辨率显示器(例如 Retina 或 xhdpi),则控制器将使用演示地图加载最高分辨率的图像,通过替换控制器想要的分辨率(标识为节点中的size
属性)以及(或)在节点中sizeEntry
的分辨率。trackMetadata
mediaMetadata
albumArtUri
Sonos 开发者网站上有一个简短的教程,其中包含更多详细信息。
此外,虽然我知道您可能使用 200 和 600 作为示例分辨率,但请注意,Sonos 要求一组特定的分辨率(sizeEntry
具有特定属性的元素size
)在各种控制器平台上效果最佳。本教程中描述了这些分辨率。
尽管您可能不会在 Sonos 的首选列表中提供所有分辨率,但控制器将采用配置中的下一个最大尺寸。例如,Sonos 要求提供 180x180 的图像。在此示例中,控制器将选择200
像素配置作为 180 以上的下一个最高分辨率。对于 300x300 和 600x600,控制器将使用size="600"
sizeEntry
.