Apple MusicKit JS:为什么我购买的所有音乐图片都返回404



我在浏览器中使用MusicKit JS制作了一个Apple Music播放器。我可以从我的库中查看和播放歌曲,但我购买的任何音乐的专辑艺术(而不是从CD或其他媒体源上传的(都会返回404。

例如,我用获得相册艺术

music.api.library.songs().then(songs => {
songs.forEach(song => {
const albumArt = song.attributes.artwork.url
document.getElementById('my-example').innerHTML = `<img src="${albumArt} alt="album art" />`
})
})

但我购买的歌曲的专辑艺术退货404,而我自己上传的歌曲的相册艺术还可以。

购买音乐的专辑艺术的URL包括'{w}x{h} "。这似乎是宽度和高度参数的默认值。我不确定是否有一些API参数可以传递来解决这个问题,但我在将其放入DOM之前,通过在image src上调用replace('{w}x{h}', '300x300')来解决问题。

MusicKitJs实际上有一个为您格式化图像的实用函数。从他们的文件:

static string formatArtworkURL(Artwork artwork, undefined height, undefined width);

您可以在musicKit实例上使用此函数,并以px为单位输入您的高度和宽度。来源:https://developer.apple.com/documentation/musickitjs/musickit/3001508-formatartworkurl

最新更新