Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MusicKitJS:Can';t播放来自用户的歌曲';s图书馆_Javascript_Apple Music_Apple Musickit - Fatal编程技术网

Javascript MusicKitJS:Can';t播放来自用户的歌曲';s图书馆

Javascript MusicKitJS:Can';t播放来自用户的歌曲';s图书馆,javascript,apple-music,apple-musickit,Javascript,Apple Music,Apple Musickit,所以我正在试用上周发布的苹果公司的MusickitJS()。我在播放从库端点获取的歌曲时遇到问题,我可以说这是因为id格式 如果我使用他们的文档示例,并将队列设置为id为1025210938的唱片集,则歌曲播放效果良好。但是,当从用户的iCloud库(即/v1/me/library/albums或musickitjs案例music.api.library.albums())中获取歌曲时,我会得到一个看起来像l.uuuzakt3的id,当我尝试播放它们时,这些id不会起任何作用 也许更熟悉Appl

所以我正在试用上周发布的苹果公司的
MusickitJS
()。我在播放从库端点获取的歌曲时遇到问题,我可以说这是因为id格式

如果我使用他们的文档示例,并将队列设置为id为
1025210938
的唱片集,则歌曲播放效果良好。但是,当从用户的iCloud库(即
/v1/me/library/albums
或musickitjs案例
music.api.library.albums()
)中获取歌曲时,我会得到一个看起来像
l.uuuzakt3
的id,当我尝试播放它们时,这些id不会起任何作用


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

大多数MusicKit JS都基于承诺。该方法是基于承诺的方法之一

特别是,如果您手头还没有API数据响应,您可以为您获取数据

为了确保数据已准备好使用,您可能希望在已解析的应用程序中执行任何播放功能

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


这首歌是明确的吗?我无法让MusicKitJS播放任何内容分级为显式的内容。@tomwilson我可以播放第一种id类型的显式和非显式歌曲。第二种id类型也不能播放。Hm我使用:music.api.library.albums()从我的库中播放内容。然后((albums)=>{music.setQueue({album:albums[0].id}).然后(()=>{music.play()});非常感谢你!我需要
setQueue
上的
then()。在setQueue之后直接调用play不起作用。奇怪的是,它对目录中的歌曲起作用,但我想这是有意义的,因为它已经有了它所需要的ID,但不确定。如果我尝试使用:music.api.library.songs().then(songs=>{music.setQueue({song:songs[0].ID})。然后(()=>{music.play()}),这就不起作用了;
MusicKit.getInstance().api.library.albums().then(function(albums) {
    MusicKit.getInstance().setQueue(albums[0]).then(function(queue) {
        MusicKit.getInstance().play();
    });
});