You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用getMetadata(id=playlists)返回多播放列表,Sonos S2仅显示其一且无曲目

问题分析与修复方案

核心问题:集合类型与结构不匹配

Sonos对播放列表的元数据响应有明确规范,你的返回存在两个关键问题:

1. 缺少正确的根集合类型标识

当Sonos请求id="playlists"的元数据时,必须先返回一个类型为playlistList的顶级mediaCollection,再把具体的播放列表项作为子元素嵌套进去,不能直接返回两个playlist类型的mediaCollection。

2. 播放列表项的可访问性配置缺失

单个播放列表的itemType确实是playlist,但必须同时设置canPlay="true"和canEnumerate="true"——Sonos需要canEnumerate来识别该集合可以展开获取内部曲目,只设置canPlay会让它直接尝试播放整个列表,而非请求曲目详情。

修正后的响应示例

<getMetadataResponse>
    <getMetadataResult>
        <count>1</count>
        <index>0</index>
        <total>1</total>
        <!-- 根集合:类型为playlistList -->
        <mediaCollection readOnly="false" userContent="false" renameable="false">
            <itemType>playlistList</itemType>
            <id>playlists</id>
            <title>我的播放列表</title>
            <!-- 嵌套具体播放列表项 -->
            <mediaCollection readOnly="false" userContent="false" renameable="false">
                <itemType>playlist</itemType>
                <id>playlist:29986647</id>
                <title>playlist-1</title>
                <albumArtURI>uri1</albumArtURI>
                <canPlay>true</canPlay>
                <canEnumerate>true</canEnumerate>
            </mediaCollection>
            <mediaCollection readOnly="false" userContent="false" renameable="false">
                <itemType>playlist</itemType>
                <id>playlist:28002250</id>
                <title>playlist-2</title>
                <albumArtURI>uri2</albumArtURI>
                <canPlay>true</canPlay>
                <canEnumerate>true</canEnumerate>
            </mediaCollection>
        </mediaCollection>
    </getMetadataResult>
</getMetadataResponse>

Bonob框架适配建议

基于Bonob框架特性,你需要:

  • 处理playlists ID的元数据请求时,先构建playlistList类型的父集合;
  • 为每个播放列表实体添加canEnumerate属性(可通过实体类注解或配置字段设置);
  • 不要用trackList替代playlist——trackList用于直接返回曲目列表,不适用于播放列表容器。

之前用albumList替代genre可行,是因为Sonos对部分列表类型有兼容性,但播放列表必须严格遵循playlistList包含playlist的结构。

内容的提问来源于stack exchange,提问作者Dan Gravell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:06:02