我正在尝试创建一个应用程序,将桌面背景设置为在iTunes中播放的当前歌曲的专辑封面,但是遇到了一个问题,即我的脚本无法读取Apple Music歌曲的专辑封面,除非它已添加到用户的音乐收藏或播放列表中。
目前我正在使用this code来提取专辑封面。
-- get the raw bytes of the artwork into a var
tell application "iTunes" to tell artwork 1 of current track
set srcBytes to raw data
-- figure out the proper file extension
if format is «class PNG » then
set ext to ".png"
else
set ext to ".jpg"
end if
end tell
-- get the filename to ~/Desktop/cover.ext
set fileName to (((path to desktop) as text) & "cover" & ext)
-- write to file
set outFile to open for access file fileName with write permission
-- truncate the file
set eof outFile to 0
-- write the image bytes to the file
write srcBytes to outFile
close access outFile
有人知道为什么直播Apple Music时这不起作用吗? 所以我可以将Apple Music歌曲添加到我的图书馆或播放列表中,我的脚本可以阅读其专辑封面(不必下载该歌曲),但是当浏览New或For You部分时,例如,并且播放一首歌,我的剧本将无法阅读,我的应用程序将崩溃。
我非常感谢任何建议,因为我喜欢任何希望能够使用此应用程序的人。
答案 0 :(得分:1)
很抱歉,在播放Apple Music时,当前曲目是 网址跟踪 。虽然这继承自 track ,但艺术品元素列表不会通过iTunes脚本来公开,因此没有可用的封面。
tell application "iTunes"
tell current track
if exists (every artwork) then
tell artwork 1
get properties
end tell
else
tell me to display alert "No Cover Art found."
end if
end tell
end tell