首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用carrierwave上传到S3时获取mp3时长

使用carrierwave上传到S3时获取mp3时长
EN

Stack Overflow用户
提问于 2016-04-29 05:56:11
回答 1查看 861关注 0票数 5

我正在写一个应用程序,它基本上是一个音乐平台。在上传到S3之前,我想通过元数据获取mp3的持续时间,并将其保存在表中。

我正在使用carrierwave和fog宝石的组合来上传。提取mp3元数据以保存到数据库的推荐方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-29 12:09:58

有一个gem用于这样的操作taglib-ruby

下面是一个例子

代码语言:javascript
复制
  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名称,但通常应该可以工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36926189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档