上传到 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 文件的持续时间的主要内容,如果未能解决你的问题,请参考以下文章

将图像上传到 Firebase 存储时如何制作进度条?

如何使用 Swift 5 /SwiftUI 将 AVAudioRecorder 文件上传到 Firebase 存储?

如何按选择的顺序将多个文件上传到 Firebase 存储?

如何将音频(3gp)文件上传到 Firebase 存储?

如何在将照片上传到 Firebase 存储时将日期或时间等用户图像详细信息添加到文件名?

如何将多个图像上传到 Firebase 存储并返回多个下载 URL