Apple MusicKit JS:为啥我购买的所有音乐图像都返回 404?

Posted

技术标签:

【中文标题】Apple MusicKit JS:为啥我购买的所有音乐图像都返回 404?【英文标题】:Apple MusicKit JS: Why Do All Images for Music I Purchased Return 404s?Apple MusicKit JS:为什么我购买的所有音乐图像都返回 404? 【发布时间】:2020-03-04 01:19:53 【问题描述】:

我使用 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  />`
    )
)

但是我购买的歌曲的专辑封面返回 404,而我自己上传的歌曲的专辑封面很好。

【问题讨论】:

【参考方案1】:

购买音乐的专辑封面 URL 包括“wxh”。这似乎是宽度和高度参数的默认值。我不确定是否可以传递一些 API 参数来解决这个问题,但我通过在图像 src 上调用 replace('wxh', '300x300') 来解决它,然后再将其放入 DOM。

【讨论】:

【参考方案2】:

MusicKitJs 实际上有一个实用功能,可以为您格式化图像。从他们的文档中:

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

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

【讨论】:

以上是关于Apple MusicKit JS:为啥我购买的所有音乐图像都返回 404?的主要内容,如果未能解决你的问题,请参考以下文章

订阅产品不可恢复,为啥 Apple 要求我设置恢复按钮?

如何删除数组中的所有空数组

应该使用哪个 npm 模块在节点 js 中向 Apple(iphone) 发送推送通知,我们为啥以及如何实现这一点?

为啥我的所见即所得编辑器在 vuejs 中运行如此缓慢?

如果我的用户与我的 AspNetCore webapp 上的所需角色相关联,为啥我会被禁止?

为啥我要传递 'things[]' : ['apple', 'pillow'] 表单数据?