上传到 Firebase 存储时如何使用 Cloud Functions for FIrebase 获取 mp3 文件的持续时间
Posted
技术标签:
【中文标题】上传到 Firebase 存储时如何使用 Cloud Functions for FIrebase 获取 mp3 文件的持续时间【英文标题】:How to get the duration of a mp3 file using Cloud Functions for FIrebase when uploaded to firebase storage 【发布时间】:2018-01-23 20:52:27 【问题描述】:我正在为舞蹈应用构建音乐库。目前,当 mp3 文件上传到 Firebase 存储时,我让 Cloud Function 自动创建一个数据库实例,我仍然需要以秒为单位获取该 mp3 文件的持续时间并将该信息存储在数据库中。我是 javascript 新手,第一次做 node.js,一些消息来源指向使用我也没有经验的 mp3 元数据。一些帮助将不胜感激。
【问题讨论】:
【参考方案1】:最简单的方法是让您的云函数下载每个 MP3 文件,通过一些 MP3 阅读库打开它,然后使用一些库获取长度,例如 mp3-duration
。
这里的主要问题是下载整个 MP3 只是为了计算它的持续时间是一种带宽浪费。您可能会对此进行改进,但这样做可能会有些复杂,除非 MP3 文件碰巧在标题中的某处方便地列出了它们的持续时间(我不认为是这种情况,但我对格式不太熟悉) .
最好让上传对象的任何工具在本地计算持续时间,然后将一段自定义元数据添加到正在上传的对象中,以指示其持续时间。自定义元数据将可用于云功能,他们可以使用它。
【讨论】:
谢谢!我确实在 npm 中找到了计算 mp3 文件长度的方法。所以至少有一个解决方案。 @BowenSun 你能说出你使用的方法/包吗?谢谢!以上是关于上传到 Firebase 存储时如何使用 Cloud Functions for FIrebase 获取 mp3 文件的持续时间的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 5 /SwiftUI 将 AVAudioRecorder 文件上传到 Firebase 存储?