classics.

2011/09/10 Satflickr

Ruby で mp3 に埋めこんであるアルバムアートを取得

自宅サーバー音楽再生( 前のエントリー, その2 )のWeb UIでジャケ写も見たかった+faviconにしたかったので実装した。一応サイズもRMagickで揃えるように。

require 'RMagick'
require 'id3lib'

tag = ID3Lib.Tag.new("hoge.mp3")
if tag.frame(:APIC) and tag.frame(:APIC)[:data]
    image = Magick::Image.from_blob(tag.frame(:APIC)[:data]).first

    # 適度に縮小してファイルに書き出し
    image.resize_to_fit(64, 64).write("hoge.jpg")
end

ついでに、無かったら amazon/aws でアルバムアートの画像URL取得するのも書いたけど、こんな感じで若干面倒くさかった。


require 'amazon/aws'
require 'amazon/aws/search'
include Amazon::AWS
include Amazon::AWS::Search
ASSOCIATES_ID = 'oq-22'
AWS_SECRET = 'secret'
AWS_KEY_ID = "key"

album = '春愁秋思'
artist = '空気公団'
request = Request.new(AWS_KEY_ID, ASSOCIATES_ID, 'jp', false)
search = ItemSearch.new('Music', {'Title' => album, 'Artist' => artist})
response_group = ResponseGroup.new('Images')
response = request.search(search, response_group)
response.item_search_response.each do {|search_res|
    puts search_res.items.item.small_image.url
}

で、適当にJSで画像をリロードするようにした

画面にもアルバムアート表示

Trackbacks

Comments

Comment form