Проигрывание звука изнутри python происходит из-за исключения msvcr90.dll

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

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

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

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

1 ответ

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

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

Другие вопросы по тегам