0

所以我正在尝试上周发布的 Apple MusicKit JS( https://developer.apple.com/documentation/musickitjs )。我在播放从库端点获取的歌曲时遇到问题,据我所知,这是因为 id 格式。

如果我使用他们的文档示例并将队列设置为 id like 的专辑1025210938,歌曲播放正常。但是,当从用户的 iCloud 库(即/v1/me/library/albums或在 musickitjs 案例中music.api.library.albums())获取歌曲时,我会得到一个看起来像的 id,l.uUZAkT3当我尝试播放它们时,它们不会做任何事情。

也许更熟悉 Apple Music 的 API 一般如何工作或使用 MusicKit for iOS 的人可以让我知道为什么会这样,或者如何为用户的图书馆项目获取可用的 id。

4

1 回答 1

0

大多数 MusicKit JS 都是基于 Promises 的。该setQueue方法是这些基于 Promise 的方法之一。

特别是setQueue可以为您获取数据,如果您还没有方便的 API 数据响应。

为了确保可以使用数据,您可能希望在已解析的 Promise 中执行任何播放功能。

MusicKit.getInstance().setQueue({ album: 'l.abc123'}).then(function(queue) {
    MusicKit.getInstance().play();
});

或者

MusicKit.getInstance().api.library.albums().then(function(albums) {
    MusicKit.getInstance().setQueue(albums[0]).then(function(queue) {
        MusicKit.getInstance().play();
    });
});
于 2018-06-14T19:51:29.217 回答