将MP3 ID3V2 APIC保存到jpeg文件

时间:2013-05-01 03:21:36

标签: ruby taglib-ruby

我正在尝试使用taglib-ruby读取并保存APIC图片到文件,但我很难理解如何去做。据我所知,图像是'image / jpeg'和ASCII-8BIT。有人试图做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您还在a taglib-ruby issue中提出了这个问题。答案是:

该文档包含阅读图片数据的示例,请参阅TagLib::ID3v2::Tag examples

然后将图片数据写入文件,例如像这样:

TagLib::MPEG::File.open("file.mp3") do |file|
  tag = file.id3v2_tag
  covers = tag.frame_list('APIC')
  unless covers.empty?
    cover = covers.first
    File.open("output.jpg", "wb") do |f|
      f.write(cover.picture)
    end
  end
end

您还应该使用cover.mime_type检查图片的MIME类型,并相应地调整文件扩展名。

答案 1 :(得分:0)

这最终解决了我遇到的问题 - 我不知道如何为Paperclip准备提取的图像。 https://gist.github.com/adamyonk/5621295