0

我写了一个程序,使用 pyaudio 同时录制和播放音频信号。由于某些未知原因,有时在播放信号时程序会因以下错误而崩溃:

Unhandled exception at 0x72A6AE7A (msvcr90.dll) in python.exe: 0xC0000005: Access violation reading location 0x02F4DB94.

该程序使用库 pygame、pyaudio、numpy

有没有办法了解问题到底出在哪里?谢谢你,内塔内尔

4

1 回答 1

0

这比正确答案更像是一种解决方法,但是:当使用 pyaudio 的“阻塞”机制播放信号时,问题不再存在,即:打开类似以下的流:

stream = self.player.open(format = pyaudio.paFloat32, channels = 2, rate = FS, output = True, frames_per_buffer = CHUNK)

然后玩类似的东西:

while True:
    a = self.chunk_queue.get_nowait()
    self.stream.write(a)

使用非阻塞模式播放(通过为流配置回调函数)似乎是崩溃的根源。

于 2015-06-12T16:29:04.650 回答