我正在编写一个应用程序,它基本上是一个音乐平台。我希望通过其元数据获取mp3的持续时间并将其保存在表中,然后再将其上传到S3。
我正在使用载波和雾宝石的组合进行上传。提取mp3元数据以保存到数据库的推荐方法是什么?
答案 0 :(得分: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
当然,你将拥有自己的attr名称,但通常应该有效。