Сохранить MP3 ID3V2 APIC в файл JPEG
Я пытаюсь прочитать и сохранить картинку APIC в файл, используя taglib-ruby, но я пытаюсь понять, как это сделать. Из того, что я могу сказать, изображение 'image/jpeg' и ASCII-8BIT. Кто-нибудь пытался это сделать?
2 ответа
Вы также задали этот вопрос в выпуске taglib-ruby. Ответ оттуда:
Документация включает в себя пример чтения данных изображения, см. TagLib::ID3v2:: Примеры тегов.
Затем просто запишите данные изображения в файл, например, так:
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
Вы также должны проверить тип изображения MIME, используя cover.mime_type
и настройте расширение файла соответственно.
Это привело к решению проблемы, с которой я столкнулся - я не понимал, как подготовить извлеченное изображение для Paperclip. https://gist.github.com/adamyonk/5621295