我正在尝试从麦克风捕获数据。代码非常简单,但alsaaudio.ALSAAudioError: Capture data too large. Try decreasing period size
由于某种原因我得到了错误。试过谷歌但没有...
res = []
recoder = alsaaudio.PCM(type=alsaaudio.PCM_CAPTURE)
recoder.setchannels(1)
recoder.setrate(8000)
recoder.setperiodsize(80)
recoder.setformat(alsaaudio.PCM_FORMAT_S8)
while len(res) < 8000*5:
len, frame = recoder.read()
if len(frame) != 0:
print(len)
res.extend(frame)
最有趣的部分是减少没有帮助。但是增加会改变错误:超过 135 的周期大小给了我Input output error
.
操作系统 Ubuntu 16.04。有谁知道问题是什么?
更新
删除 recoder.setchannels(1) 就可以了,我可以将速率/周期设置为 8000/80,它可以工作,但不能设置为 8000/10。得到同样的错误。这似乎是一个错误。