Python 获取IOError:[Errno Input overflowed]-9981,将PyAudio Stream Input和output设置为True时

Python 获取IOError:[Errno Input overflowed]-9981,将PyAudio Stream Input和output设置为True时,python,portaudio,pyaudio,Python,Portaudio,Pyaudio,我试图在Mac(OS 10.7.2)上运行以下代码(PyAudio文档中的一个示例): 我给出的错误是: Traceback (most recent call last): File "PyAudioExample.py", line 24, in <module> data = stream.read(chunk) File "/Library/Python/2.7/site-packages/pyaudio.py", line 564, in read return p

我试图在Mac(OS 10.7.2)上运行以下代码(PyAudio文档中的一个示例):

我给出的错误是:

Traceback (most recent call last):
  File "PyAudioExample.py", line 24, in <module>
data = stream.read(chunk)
  File "/Library/Python/2.7/site-packages/pyaudio.py", line 564, in read
return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981
这避免了错误,但我没有输出输入的音频,而是听到了一阵响亮的咔哒声

为了排除故障,我注释掉了output=True行,程序运行正常,但没有输出任何内容。我注释掉了input=True,改为读取一个Wave文件,流能够输出音频。我试着创建了两个流,一个用于输入,一个用于输出,但都不起作用


我还能做些什么来避免这个错误吗?

我在手动安装pyaudio(从源代码构建的portaudio)时遇到了同样的情况, 一个不太完美的解决方法是下载pyaudio,以便 安装它,它将只为Python2.6和以前的版本安装它。 如果使用/usr/bin/python2.6运行代码,那么就完成了。 但是如果您真的想要2.7,请将已安装的模块(pyaudio.py,_portaudio.so)复制到2.7文件夹/Library/Python/2.7/site packages/


我不知道为什么从源代码构建模块不起作用

portaudio中有一个bug,直到最近才导致OS X中出现许多虚假的溢出错误(请参阅)

我已经确认,截至2012-08-06的portaudio每日快照修复了该错误。

我有最新的portaudio(版本19.20111121_4)以及py27 pyaudio 0.2.7_0,无论我如何尝试更改块大小,我仍然会收到此错误。我正在使用mac os x 1.7.5和python 2.7,如果您愿意的话,您可以分享更多关于如何让portaudio每日快照工作的信息吗?请参阅
Traceback (most recent call last):
  File "PyAudioExample.py", line 24, in <module>
data = stream.read(chunk)
  File "/Library/Python/2.7/site-packages/pyaudio.py", line 564, in read
return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981
try:
    data = stream.read(chunk)
except IOError as ex:
    if ex[1] != pyaudio.paInputOverflowed:
        raise
    data = '\x00' * chunk