问题
In a Cocoa application, I'm looking for a solution to retrieve album artwork from iTunes without requiring iTunes itself to be launched and running in the background.
The usual and perhaps only solution, Scripting Bridge, and inherently AppleScript, will launch iTunes prior to executing any commands.
Album artwork is the only information which cannot be obtained from parsing iTunes Library.xml
. iTunes obfuscates the storage of artwork in the following manner, for a given track: ~/{Library Path}/Album Artwork/Cache/D989408F65D05F99/04/13/04/D989408F65D05F99-EB5B7A9086F4B4D4.itc
.
Anyone know of a technique to obtain album art without launching iTunes? I could always go a different route, such as using Amazon's data service, but I'd prefer a local iTunes-based solution.
回答1:
The filenames are an amalgam of the library ID (D989408F65D05F99) and the track's ID (EB5B7A9086F4B4D4). The directory structure comes from the library ID and the last three digits of the track's ID converted to decimal, ie 4D4 becomes 04, 13, 04.
The .itc files seem to have a RIFF/chunked type structure. There is a bit on the structure of the files here.
回答2:
iTunes 11+ (macOS 10.13+) introduced iTunes Library Framework that has this capability too you do not need to parse the iTunes Library.xml anymore or read the storage folders of the tracks
来源:https://stackoverflow.com/questions/1433035/fetch-itunes-album-artwork-without-itunes-running