我有这个宝石工作,我可以更改给定歌曲的id3数据。但是我还需要能够为这首歌添加专辑封面。我在给定的URL上有艺术作品。我该怎么做?
Mp3Info.open(file.path) do |mp3|
mp3.tag.title = title
mp3.tag.artist = artist
end
答案 0 :(得分: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
答案 1 :(得分:0)
如果您没有使用mp3Info gem,请尝试使用id3Lib http://id3lib-ruby.rubyforge.org/。根据我的经验,那个更好。
不确定这一点,但请尝试阅读该文件并将其直接设置为
mp3.tag2.APIC
答案 2 :(得分:0)
使用ruby-mp3info可以添加艺术作品:
file = File.new('input_img','rb')
Mp3Info.open '1.mp3' do |m|
m.tag2.add_picture(file.read)
end