节目电台播放失败
Posted
技术标签:
【中文标题】节目电台播放失败【英文标题】:Programmed radio playback fails 【发布时间】:2021-04-20 07:47:14 【问题描述】:我正在尝试为 Sonos 构建内容服务,但在播放曲目时遇到了问题。我设法设置了一个非常基本的 SMAPI 服务器并添加了 Cloud Queue 端点,并最终弄清楚了如何使清单工作。不涉及身份验证,HTTPS 仅用于清单文件,否则无法正常工作。
现在,在我将自定义 SD 加载到 Sonos 扬声器后,它会调用 getMetadata
、getLastUpdate
、context
和 itemWindow
,然后我会返回相应的响应(请参阅下面的 JSON),与中所示的相同Sonos 文档。我的根mediaCollection
是一个程序列表,在文档中称为程序化收音机。我在队列中返回的曲目包含一个mediaUrl
,它指向我的计算机,因此我可以在使用它时进行跟踪。
但是,这些 URL 从未使用过,内容也从未在我的扬声器上播放。如果我按下播放键,我会收到错误消息“无法播放所选项目”,但对于找出问题所在没有任何帮助。我已检查我的媒体文件是否受支持且适合流式传输,但播放器从未尝试访问它们。
任何帮助将不胜感激。
itemWindow
回复:
"queueVersion": "34612290",
"items": [
"id": "21580176",
"deleted": false,
"track":
"name": "Back Together (Dub)",
"album":
"name": "Back Together - Single",
"artist":
"name": "Jean & Trevor"
,
"artist":
"name": "Jean & Trevor"
,
"imageUrl": "http://192.168.1.38:3040/covers/E9JRtSpc5F2wAARjS.png",
"mediaUrl": "http://192.168.1.38:3040/tracks/E9JRtSpc5F2wAARjS.m4a",
"durationMillis": 421700,
"contentType": "audio/mp4",
"id":
"objectId": "track_E9JRtSpc5F2wAARjS"
,
"id": "00291014",
"deleted": false,
"track":
"name": "Bajoo",
"album":
"name": "Tropical Bird Club",
"artist":
"name": "JaJa"
,
"artist":
"name": "JaJa"
,
"imageUrl": "http://192.168.1.38:3040/covers/kY3kTCKg75GTbTfTQ.png",
"mediaUrl": "http://192.168.1.38:3040/tracks/kY3kTCKg75GTbTfTQ.m4a",
"durationMillis": 378000,
"contentType": "audio/mp4",
"id":
"objectId": "track_kY3kTCKg75GTbTfTQ"
,
"id": "00582217",
"deleted": false,
"track":
"name": "La maison où j'ai grandi (Il Ragazzo Della Via Gluck)",
"album":
"name": "La maison où j'ai grandi",
"artist":
"name": "Françoise Hardy"
,
"artist":
"name": "Françoise Hardy"
,
"imageUrl": "http://192.168.1.38:3040/covers/xucsWSjnPGgwXGbpy.png",
"mediaUrl": "http://192.168.1.38:3040/tracks/xucsWSjnPGgwXGbpy.m4a",
"durationMillis": 216000,
"contentType": "audio/mp4",
"id":
"objectId": "track_xucsWSjnPGgwXGbpy"
,
...
],
"includesBeginningOfQueue": true,
"includesEndOfQueue": false
【问题讨论】:
【参考方案1】:您的 getMetadata 返回什么?我对你的 json 感到困惑,SMAPI 不使用 json(除了一些未记录的情况)。那和 getLastUpdate 应该足以获得播放调用。您在 Sonos 应用中看到您的根对象了吗?
我编写使用 SMAPI 的 Sonos 应用程序,除了一些服务所需的未记录内容外,我从不使用 json。 (我不做任何云队列的事情)。
我建议在尝试云队列集成之前先了解 SMAPI 的基础知识(云队列是可选的,可以稍后完成)。
【讨论】:
以上是关于节目电台播放失败的主要内容,如果未能解决你的问题,请参考以下文章