如何在上传到firebase存储时使用Cloud Functions for FIrebase获取mp3文件的持续时间

时间:2017-08-15 20:43:59

标签: node.js firebase google-cloud-storage firebase-storage google-cloud-functions

我正在为舞蹈应用程序构建音乐库。目前我有一个云功能在mp3文件上传到Firebase存储时自动创建一个数据库实例,我仍然需要以某种方式在几秒钟内获取该mp3文件的持续时间并将该信息存储在数据库中。我是javascript的新手,第一次做node.js,一些消息来源指向使用我没有经验玩的mp3元数据。一些帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

最简单的方法是让你的云功能下载每个MP3文件,通过一些MP3阅读库打开它,并使用某些库来获取长度,如mp3-duration

这里的主要问题是下载整个MP3只是为了计算它的持续时间是浪费带宽。你可能会改进这一点,但这样做可能会有些复杂,除非MP3文件碰巧在标题中的某个位置方便地列出它们的持续时间(我不认为是这种情况,但我不是很熟悉格式)。

最好让上传对象的任何工具在本地计算持续时间,然后向正在上传的对象添加一段自定义元数据,以指示其持续时间。云功能可以使用自定义元数据,可以使用它。