0

pmapを介してArtSize URIを調整するようにSonosプレゼンテーションマップを構成する方法を誰かが説明できますか? ベース URL は次のとおりです。

http://....../load_albumart.php?album_id=12&size=200

たとえば、200 を 600 に置き換えるように pmap を構成する方法がわかりません。

4

1 に答える 1

2

Album Art の PresentationMap は、正規表現のように機能します。コントローラーが 200x200 の画像を必要とする場合、albumArtUri要素を検索し、サイズとして構成した文字列を置き換えます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>

を含むデフォルトの 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いる解像度を使用します。trackMetadatamediaMetadataalbumArtUri

詳細については、Sonos 開発者の Web サイトにある短いチュートリアルを参照してください。

また、おそらく解像度の例として 200 と 600 を使用していると思いますが、Sonos は、さまざまなコントローラー プラットフォームで最適に動作する特定の解像度のセット (sizeEntry特定の属性を持つ要素) を要求することに注意してください。sizeこれらの解像度については、チュートリアルで説明されています。

Sonos の推奨リストにあるすべての解像度を提供するわけではありませんが、コントローラーは構成内で次に大きなサイズを採用します。たとえば、Sonos は 180x180 の画像を要求します。この例では、コントローラは200180 を超える次に高い解像度としてピクセル構成を選択します。300x300 および 600x600 の場合、コントローラはsize="600" sizeEntry.

于 2015-09-28T19:23:56.903 に答える