如何在python中组合wav文件(使用recorder.js创建)?

时间:2015-01-20 11:48:52

标签: python google-app-engine audio recorder.js

我正在使用python和javascript构建客户端 - 服务器应用程序。 在前端,我使用recorder.js录制音频。 经过一段固定的时间间隔后,我使用exportWav()并将音频文件发送到服务器。 在后端我现在需要连接这些文件以再次制作更大的音频文件。

我看到了this question,但我没有实际的.wav文件,只有exportWav返回的blob。

我也使用app引擎,所以我无法将输出写入wav文件。我需要创建另一个可以存储在数据存储区中的audioblob。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

每个细分是wav文件的完整二进制数据吗?您需要使用某种格式感知库来连接wavs。您选择的实现取决于您,但当然它需要在python中。另一方面,您可以使用Compute Engine实例来运行连接wav的二进制文件,使用cloud storage client library最终将这些wav文件放入存储桶中,然后清理所有临时文件。

如果它们只是单个wav二进制文件的一部分,您可以简单地传输数据并使用云存储客户端库打开相关的云存储blob进行写入,将新部分写入“文件”的末尾。

这真的归结为你自己需要了解exportWav返回的内容。

如果你在数据存储区中使用blob属性,你可以这样做,只需查看the relevant documentation for storing blobs in datastore,并注意你不能“更新”对象,或“连接”到他们的属性。如果你今天放了一个wav并希望在3个月内连接它,你将需要获取完整的实体和blob,删除它,将新部分连接到内存中,然后将它放回去。