Я пытаюсь использовать гем mp3info для получения длины аудиофайлов mp3 (в секундах), которые я сохранил на S3. Я получаю сообщение об ошибке NoMethodError: undefined method
<'для nil: NilClass` </p>
Моя функция выглядит следующим образом:
def length
require 'mp3info'
if self.audio?
tempfile = File.new("#{Rails.root.to_s}/tmp/recording_#{Process.pid}.mp3",'w+')
uri = URI.parse(self.audio.url)
IO.copy_stream(open(uri),tempfile)
audio_length = Mp3Info.open(tempfile).length
File.delete(tempfile)
return audio_length
end
end
Куда я иду не так?
Кроме того, в идеале я хотел бы использовать что-то, что может также определять продолжительность WAV и других типов аудио, поэтому, если у вас есть предложение, как это сделать с heroku, дайте мне знать.
Спасибо!