我正在Intel Edison板上尝试使用pyaudio,但是它在内置测试中失败了。单独录制和播放可以正常工作,但是如果我尝试将输入连接到输出,则会出现错误。
以下是pyaudio中将输入连接到输出的示例代码:
以下是pyaudio中将输入连接到输出的示例代码:
有人能理解这是什么问题吗?文件"wire_full.py",第33行, data = stream.read(CHUNK) 文件"/usr/lib/python2.7/site-packages/pyaudio.py",第605行, return pa.read_stream(self._stream, num_frames) IOError: [Errno Input overflowed] -9981
"""
PyAudio Example: Make a wire between input and output (i.e., record a
few samples and play them back immediately).
This is the full duplex version.
"""
import pyaudio
import sys
CHUNK = 1024
WIDTH = 2
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
if sys.platform == 'darwin':
CHANNELS = 1
p = pyaudio.PyAudio()
stream = p.open(format=p.get_format_from_width(WIDTH),
channels=CHANNELS,
rate=RATE,
input=True,
output=True,
frames_per_buffer=CHUNK)
print("* recording")
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
stream.write(data, CHUNK)
print("* done")
stream.stop_stream()
stream.close()
p.terminate()