3

我有这个 gem,这样我就可以更改给定歌曲的 id3 数据。但是,我还需要能够将专辑插图添加到歌曲中。我在给定的 URL 上有艺术品。我该怎么做?

Mp3Info.open(file.path) do |mp3|
  mp3.tag.title  = title
  mp3.tag.artist = artist
end
4

3 回答 3

4

似乎 ruby​​-mp3info 目前仅支持文本框架,请参见此处:https ://github.com/moumar/ruby-mp3info/blob/v0.7.1/lib/mp3info/id3v2.rb#L319

使用taglib-ruby,它会像这样工作:

require 'taglib'
require 'open-uri'

picture_data = open(picture_url).read

TagLib::MPEG::File.open(file.path) do |file|
  tag = file.id3v2_tag

  pic = TagLib::ID3v2::AttachedPictureFrame.new
  pic.picture = picture_data
  pic.mime_type = "image/jpeg"
  pic.type = TagLib::ID3v2::AttachedPictureFrame::FrontCover

  tag.add_frame(pic)
  file.save
end
于 2012-07-11T16:42:59.223 回答
0

如果您不使用 mp3Info gem,请尝试使用 id3Lib,http ://id3lib-ruby.rubyforge.org/ 。根据我的经验,那个更好。

不确定,但尝试读取文件并将其直接设置为

mp3.tag2.APIC

于 2012-07-05T00:00:16.980 回答
0

使用 ruby​​-mp3info 你可以添加艺术品:

文档中:

file = File.new('input_img','rb')
Mp3Info.open '1.mp3' do |m|
  m.tag2.add_picture(file.read)
end
于 2013-01-30T23:03:52.193 回答