Python 3.x 使用pyAudio时出错

Python 3.x 使用pyAudio时出错,python-3.x,alsa,pyaudio,Python 3.x,Alsa,Pyaudio,我试图使用上提供的pyaudio示例 我有两个Raspberry Pis,它们都安装了pyAudio。其中一个可以在没有任何问题的情况下运行示例,但另一个在尝试录制音频时会发出以下错误消息,例如: ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALS

我试图使用上提供的pyaudio示例

我有两个Raspberry Pis,它们都安装了pyAudio。其中一个可以在没有任何问题的情况下运行示例,但另一个在尝试录制音频时会发出以下错误消息,例如:

ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pcm_dmix.c:957:(snd_pcm_dmix_open) The dmix plugin supports only playback stream
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Expression 'parameters->channelCount <= maxChans' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1438
Expression 'ValidateParameters( inputParameters, hostApi, StreamDirection_In )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 2742
Traceback (most recent call last):
  File "audioRecord.py", line 17, in <module>
    frames_per_buffer=CHUNK)
  File "/usr/local/lib/python3.2/dist-packages/pyaudio.py", line 747, in open
    stream = Stream(self, *args, **kwargs)
  File "/usr/local/lib/python3.2/dist-packages/pyaudio.py", line 442, in __init__
    self._stream = pa.open(**arguments)
IOError: [Errno Invalid number of channels] -9998

请告知,第二台设备可能缺少什么?

解决方案是将声音设备0设为默认值。

解决方案是将声音设备0设为默认值。

当PortAudio尝试搜索所有设备时,这些“未知”/“无法”/“无法”消息是正常的。但是“channelCount非常感谢您的反馈!!我正在尝试运行名为“Record”的示例。您完全正确,将变量CHANNELS=2更改为1至少可以解决第一条错误消息,现在我有:*录制回溯(最近一次调用):文件“audioRecord.py”,第24行,data=stream.read(CHUNK)文件“/usr/local/lib/python3.2/dist packages/pyaudio.py”,第605行,在读取返回pa.read_流(self._流,num_帧)IOError:[错误无输入溢出]-9981我很困惑为什么另一个Pi可以运行整个脚本而不会出现问题,并且可以将通道从2更改为1,或者在任何方面接触脚本…硬件都是相同的,我安装了相同的东西并进行了相同的配置设置(至少据我所知),但很明显,这两台设备的结局肯定不同。非常感谢您对我应该选择的方向提出的任何建议!!另一台Pi是否也将耳机(“s麦克风”)作为默认设备?是的,同样是默认设备。但是我注意到了以下区别。另一台设备(可以很好地播放)具有以下aplay-l:card 0:Set[C-Media USB耳机套件],设备0:USB音频[USB音频]子设备:0/1子设备#0:Subdevice#0当PortAudio尝试搜索所有设备时,“未知”/“无法”/“无法”消息是正常的。但是“channelCount非常感谢您的反馈!!我试图运行名为“Record”的示例。您完全正确,将变量CHANNELS=2更改为1至少解决了第一条错误消息,现在我有:*记录回溯(最近一次调用):文件“audioRecord.py”,第24行,在data=stream.read(CHUNK)文件“/usr/local/lib/python3.2/dist packages/pyaudio.py”,第605行,在read return pa.read_stream(self._stream,num_frames)IOError:[Errno Input overflowered]-9981中,我很困惑为什么其他Pi可以运行整个脚本而不会出现问题,并且可以将通道从2更改为1,或者在任何方面接触脚本。。。硬件是相同的,我安装了相同的东西并进行了相同的配置设置(至少据我所知),但显然在这两台设备上的结果是不同的。非常感谢您对我的指导意见!!另一个Pi是否也将耳机(麦克风)作为默认设备?是的,默认设备也是相同的。然而,我注意到了以下区别。另一个设备(可以很好地播放)有以下aplay-l:card 0:Set[C-Media USB耳机套件],设备0:USB音频[USB音频]子设备:0/1子设备#0:Subdevice#0您是如何做到的?您是如何做到的?
$ cat /proc/asound/modules
  0 snd_usb_audio
  1 snd_bcm2835

$ lsusb
  Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
  Bus 001 Device 004: ID 0bda:8178 Realtek Semiconductor Corp. RTL8192CU 802.11n WLAN Adapter
  Bus 001 Device 005: ID 046d:c31c Logitech, Inc. Keyboard K120 for Business
  Bus 001 Device 006: ID 046d:c077 Logitech, Inc. 
  Bus 001 Device 007: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter

$ aplay -l
  **** List of PLAYBACK Hardware Devices ****
  card 0: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
  card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
    Subdevices: 8/8
    Subdevice #0: subdevice #0
    Subdevice #1: subdevice #1
    Subdevice #2: subdevice #2
    Subdevice #3: subdevice #3
    Subdevice #4: subdevice #4
    Subdevice #5: subdevice #5
    Subdevice #6: subdevice #6
    Subdevice #7: subdevice #7
  card 1: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
    Subdevices: 1/1
    Subdevice #0: subdevice #0