在python中创建无限WAV文件

Posted

技术标签:

【中文标题】在python中创建无限WAV文件【英文标题】:Create infinite WAV file in python 【发布时间】:2020-09-05 15:36:56 【问题描述】:

是否可以创建一个可以附加的“无限”WAV 文件?

我想连续录制音频并将其写入 WAV 文件,但我无法覆盖文件以将其另存为新文件。原因是我想使用ist作为FFmpeg流的基础,它通过图像管道获取视觉部分。

我用 Python 编程并想做类似的事情

audio_file = wave.open("myfile.wav")
audio_file.setlength(9999999)
audio_file.append(chunksof_audio)

【问题讨论】:

这能回答你的问题吗? Updating/appending to a .wav file in Python 嗯,它会,但它实际上会覆盖原始文件。 【参考方案1】:

保存到文件几乎可以肯定是将记录的数据流式传输到 FFmpeg 的错误方式。我认为您需要在内存中创建一个缓冲区来接收记录的数据。然后打开一个可以直接馈送到FFmpeg流输入的IO流,并从这个缓冲区轮询数据。

缓冲区应该是某种形式的 FIFO 环形结构,可以调整大小并允许两个流同时操作。 IDK Python 让您如何轻松地构建这样的数据结构,或者它如何处理并发操作。这就是我使用 Java 会做的事情。

【讨论】:

以上是关于在python中创建无限WAV文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将您在 python 中创建的 .wav 文件保存到指定目录?

如何收听我在 Python 中创建的音频?

在 iOS 中,如何从数据中创建音频文件(.wav、.mp3)文件?

在 Python - 3.x 中创建可迭代的自定义对象后,有没有办法防止无限循环?

如何在 JavaScript 中创建吉他调音器?

在 C# (WP7) 中创建音频文件