2

我有一个从 http 请求上传的 aac 文件。如何在不首先将其写入磁盘上的 aac 文件的情况下将其转换为 wav 文件。

这是我的代码:

        with open(filepath, 'wb') as up:
            up.write(file_metas[0]['body'])

        cf = AudioSegment.from_file(filepath)
        cf.export(wav_filepath, format="wav")

如何在不将 file_metas[0]['body'] 写入文件的情况下获得 cf。

4

1 回答 1

1

我自己找到了解决方案。我可以使用 cStringIO 模型。它是一个与文件具有相同接口的对象,但它的数据在内存中。

    output = cStringIO.StringIO()
    output.write(file_metas[0]['body'])
    output.seek(0)
    cf = AudioSegment.from_file(output)
    cf.export(wav_filepath, format="wav")
于 2017-09-16T08:06:20.890 回答