2015-06-01 7 views
0

Я написал программу, которая использует pyaudio для записи и воспроизведения аудиосигнала одновременно. по неизвестной причине иногда при воспроизведении сигналов программа вылетает с этой ошибкой:Звук, воспроизводимый из-под ошибок python из-за исключения msvcr90.dll

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

программа использует библиотеки Pygame, pyaudio, NumPy

есть способ, чтобы понять, где именно проблема? Спасибо, Нетанел

ответ

0

Это больше workaroud, чем правильный ответ, но: проблема перестала существовать, когда сигнал был сыгран с помощью «блокирующего» механизма 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) 

использование режима не блокирующей игры (путем настройки функции обратного вызова для потока), по-видимому, является источником аварий.