2

我有一个应用程序,用户可以在其中录制音频,然后互相“发送”。我正在写“发送”,因为实际上文件存储在服务器上,只是在收件人想要收听时提供给他们。

我的问题是,我需要将录音(当前为 .caf)重新格式化为 .mp3,这样它们都会更小,所以我可以用我正在使用的音频播放器播放它们。

那么我的问题是:是否有可能在用户上传时触发云功能,它将获取 .caf 文件,对其进行转换并在其位置放置一个 .mp3 文件?在文档中找不到任何地方说明新文件是否具有相同或不同的 url。

4

1 回答 1

2

是的,如果存在将 .caf 转换为 .mp3 的 Node.js 库,这将是可能的。您最好使用通过 Promise 处理异步任务的库。

由于您要编写不同的文件(不同的扩展名),因此下载 URL 会有所不同。但管理这种情况应该不成问题:您可以为 mp3 文件生成一个新的下载 URL,例如,将其保存在数据库中(或动态生成此 URL,如文档中所示

您将在官方Cloud Functions 示例集合中找到一些操作文件的 Cloud Functions(特别是为此使用 tmp 目录)。例如,有generate-thumbnailmedium-images

但是,您必须考虑到云函数的最长执行时间为 9 分钟。因此,如果您的某些音频文件需要超过 9 分钟的转换处理,那将是一个问题。

于 2019-05-29T11:19:24.943 回答