【发布时间】:2026-01-16 01:25:01
【问题描述】:
所以我正在试验上周发布的 Apple 的 MusicKit JS (https://developer.apple.com/documentation/musickitjs)。我在播放从库端点获取的歌曲时遇到问题,据我所知,这是因为 id 格式。
如果我使用他们的文档示例并将队列设置为 ID 为 1025210938 的专辑,则歌曲播放正常。但是,当从用户的 iCloud 库(即 /v1/me/library/albums 或在 musickitjs 案例中为 music.api.library.albums())获取歌曲时,我得到一个看起来像 l.uUZAkT3 的 id,而当我尝试播放它们时,它们不会做任何事情。
也许更熟悉 Apple Music API 的一般工作原理或使用过 iOS 版 MusicKit 的人可以告诉我为什么会这样,或者如何为用户的图书馆项目获取可用的 ID。
【问题讨论】:
-
这首歌是露骨的吗?我无法让 MusicKitJS 播放任何 contentRating 为显式的内容。
-
@tomwilson 我可以使用第一种类型的 id 播放显式和非显式歌曲。不玩第二种。
-
嗯,我设法从我的图书馆播放东西:music.api.library.albums().then((albums) => { music.setQueue({album: albums[0].id }).then(() => { music.play() }) });
-
非常感谢!我需要
then()上的setQueue,否则它不起作用。在 setQueue 之后直接调用 play 不起作用。奇怪的是它适用于目录中的歌曲,但我想这是有道理的,因为它已经有它需要的 ID,但不确定。 -
如果我尝试使用以下方法不起作用:music.api.library.songs().then(songs => { music.setQueue({song:songs[0].id})。然后(() => { music.play() }) });
标签: javascript apple-music apple-musickit