如何通过Apple Script在iTunes中访问Apple Music专辑封面

时间:2016-05-26 08:40:19

标签: macos applescript itunes itunesartwork apple-music

我正在尝试创建一个应用程序,将桌面背景设置为在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部分时,例如,并且播放一首歌,我的剧本将无法阅读,我的应用程序将崩溃。

我非常感谢任何建议,因为我喜欢任何希望能够使用此应用程序的人。

1 个答案:

答案 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