如何使用TagLib获得歌曲封面艺术

时间:2013-04-05 07:04:31

标签: ruby-on-rails taglib

这是我能够获得歌曲图片/封面艺术的代码。

TagLib::MPEG::File.open("song_file_name.mp3") do |file|
    tag = file.id3v2_tag

    cover = tag.frame_list('APIC').first
    mime_type = cover.mime_type
    picture = cover.picture
end

如何将图片的值转换为网址或图片的来源?

1 个答案:

答案 0 :(得分:2)

您应该将图片内容存储在文件中,保存并在Web服务器上使用。

尝试做类似的事情:

TagLib::MPEG::File.open("song_file_name.mp3") do |file|
    tag = file.id3v2_tag

    cover = tag.frame_list('APIC').first
    mime_type = cover.mime_type
    picture = cover.picture

    extension = case cover.mime_type
      when 'image/jpeg', 'image/jpg'
        'jpg'
      when 'image/gif'
        'gif'
      else
        raise "Mime not found"
    end

    file_name = "my_file.#{extension}"

    File.open(file_name, "w") do |f|
      f.write(picture)
    end

end