我有这个 gem,这样我就可以更改给定歌曲的 id3 数据。但是,我还需要能够将专辑插图添加到歌曲中。我在给定的 URL 上有艺术品。我该怎么做?
Mp3Info.open(file.path) do |mp3|
mp3.tag.title = title
mp3.tag.artist = artist
end
似乎 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
如果您不使用 mp3Info gem,请尝试使用 id3Lib,http ://id3lib-ruby.rubyforge.org/ 。根据我的经验,那个更好。
不确定,但尝试读取文件并将其直接设置为
mp3.tag2.APIC
使用 ruby-mp3info 你可以添加艺术品:
从文档中:
file = File.new('input_img','rb')
Mp3Info.open '1.mp3' do |m|
m.tag2.add_picture(file.read)
end