【发布时间】:2013-10-05 13:07:11
【问题描述】:
请不要将此问题报告为重复问题,因为没有任何可用的解决方案适合我,我对它们都进行了测试
所以, 我正在尝试在我的 RaspberryPi 模型 B 板上运行 PyAudio 示例录音程序, 这是我得到的错误,
Traceback (most recent call last):
File "/home/pi/pyaudio/test/testing.py", line 23, in <module>
data = stream.read(chunk)
File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 605, in read
return pa.read_stream(self._stream, num_frames)
IOError: [Errno Input overflowed] -9981
已经有某些解决方案可以解决许多用户的问题,但就我而言,这是不正确的。
这是我尝试过的,
首先,这里是代码,
"""PyAudio example: Record a few seconds of audio and save to a WAVE file."""
import pyaudio
import wave
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
print("* recording")
frames = []
for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
data = stream.read(CHUNK)
frames.append(data)
print("* done recording")
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
我也试过当前配置是否支持,
import pyaudio
p = pyaudio.PyAudio()
if p.is_format_supported(48000.0,
input_device=1,
input_channels=1,
input_format=pyaudio.paInt16):
print 'True!'
44,000 和 44,100 都支持,但我仍然一次又一次地遇到相同的错误。
这是我的 USB 声卡设备信息,
p.get_device_info_by_index(1)
{'defaultSampleRate': 44100.0,
'defaultLowOutputLatency': 0.011609977324263039,
'defaultLowInputLatency': 0.011609977324263039,
'maxInputChannels': 1L,
'structVersion': 2L,
'hostApi': 0L,
'index': 1,
'defaultHighOutputLatency': 0.046439909297052155,
'maxOutputChannels': 2L,
'name': u'Generic USB Audio Device: USB Audio (hw:1,0)',
'defaultHighInputLatency': 0.046439909297052155}
有人知道为什么我仍然收到错误吗?
【问题讨论】:
-
你能发布如果你做
p.get_default_input_device_info()会发生什么吗? -
@joseph 我也面临同样的问题和同样的错误,我从命令
p.get_default_input_device_info()得到的信息是{'defaultSampleRate': 44100.0, 'defaultLowOutputLatency': 0.011609977324263039, 'defaultLowInputLatency': 0.011609977324263039, 'maxInputChannels': 1L, 'structVersion': 2L, 'hostApi': 0L, 'index': 0L, 'defaultHighOutputLatency': 0.046439909297052155, 'maxOutputChannels': 2L, 'name': u'USB PnP Sound Device: USB Audio (hw:0,0)', 'defaultHighInputLatency': 0.046439909297052155}指导我解决这个问题? -
@FahadUddin,尝试降低或增加你的块大小
-
@SufiyanGhori 我试过 1024、512、256