2016-04-28 3 views
3

Я пишу приложение и его в основном музыкальную платформу. Я хотел бы получить продолжительность mp3 через свои метаданные и сохранить его в таблице, прежде чем я загружу его на S3.Получить mp3-часть при загрузке на S3 с помощью carrierwave

Я использую комбинацию несущих и туманных камней для загрузки. Каков рекомендуемый способ извлечения метаданных mp3 для сохранения в базу данных?

ответ

1

Существует драгоценный камень для таких операций taglib-ruby

вот пример

def set_duration 
    # :duration is an integer 
    # t.integer "duration",     :default => 0 
    TagLib::FileRef.open(file.file.path) do |file| 
     update_column(:duration, file.audio_properties.length) unless file.null? 
    end 
    end 

Конечно, вы будете иметь свои собственные имена атр, но в целом должно работать.

Смежные вопросы