この質問を投稿してからしばらく経ちましたが、同じ問題に遭遇し、それを理解することができました. iTunes ストアの trackId は、iTunes に一致するファイルのダウンロード バージョンに保存されます。ファイルから最初の 1024 バイトのデータを取得すると、トラック ID は文字列「song」の後のデータの最初の 4 バイトになります。符号付き 32 ビット整数から 10 進数に変換する必要があります。
例: No Cars Go (アーケード ファイア)
file_string = File.open(path, 'r').read(1024)
index = file_string.index('song')
@iTunes_id = file_string[index+4,4].unpack('N')[0]
print "Song ID: #{@iTunes_id}"
結果:
Song ID: 81607936
これで、その ID を取得して、iTunes からトラック データを検索できます。
https://itunes.apple.com/lookup?id=81607936&country=US
結果:
{
"resultCount":1,
"results": [
{"wrapperType":"track", "kind":"song", "artistId":23203991, "collectionId":81607965, "trackId":81607936, "artistName":"Arcade Fire", "collectionName":"Arcade Fire EP", "trackName":"No Cars Go", "collectionCensoredName":"Arcade Fire EP", "trackCensoredName":"No Cars Go", "artistViewUrl":"https://itunes.apple.com/us/artist/arcade-fire/id23203991?uo=4", "collectionViewUrl":"https://itunes.apple.com/us/album/no-cars-go/id81607965?i=81607936&uo=4", "trackViewUrl":"https://itunes.apple.com/us/album/no-cars-go/id81607965?i=81607936&uo=4", "previewUrl":"http://a644.phobos.apple.com/us/r1000/060/Music2/v4/ba/95/be/ba95be41-4a03-4dea-2965-57dd5f0b66c0/mzaf_6092501386391248238.m4a", "artworkUrl30":"http://a5.mzstatic.com/us/r30/Music/y2005/m10/d01/h10/mzi.yfrupnuj.30x30-50.jpg", "artworkUrl60":"http://a2.mzstatic.com/us/r30/Music/y2005/m10/d01/h10/mzi.yfrupnuj.60x60-50.jpg", "artworkUrl100":"http://a5.mzstatic.com/us/r30/Music/y2005/m10/d01/h10/mzi.yfrupnuj.100x100-75.jpg", "collectionPrice":6.93, "trackPrice":0.99, "releaseDate":"2005-01-10T08:00:00Z", "collectionExplicitness":"notExplicit", "trackExplicitness":"notExplicit", "discCount":1, "discNumber":1, "trackCount":7, "trackNumber":3, "trackTimeMillis":364071, "country":"USA", "currency":"USD", "primaryGenreName":"Alternative", "radioStationUrl":"https://itunes.apple.com/station/idra.81607936"}]
}
これがOPまたは他の誰かに役立つことを願っています.この情報は他のどこにも見つかりませんでした.