由于msvcr90.dll异常而在python崩溃中播放的音频

时间:2015-06-01 16:14:24

标签: python portaudio pyaudio msvcr90.dll

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

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

该程序使用库pygame,pyaudio,numpy

有没有办法了解问题究竟在哪里? 谢谢, Netanel

1 个答案:

答案 0 :(得分: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)

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