PyAudio在Ubuntu上无法工作且破坏声音
好的,我通过 apt-get
安装了 pyaudio
,这个包叫 python-pyaudio
。然后我尝试像下面这样导入并调用它:
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyaudio
>>> p= pyaudio.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_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
ALSA lib pcm_params.c:2162:(snd1_pcm_hw_refine_slave) Slave PCM not usable
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
结果出现了一些错误信息。经过一番研究,我发现了这个问题:
在回答中提到这些只是警告信息。
但对我来说,音频实际上并没有 正常工作,而且还导致我的系统音频出现问题,让声音设置里什么都显示为空,音频输出也无法使用。
之前的状态:
之后的状态:
这是我能解决的问题吗?
2 个回答
3
你需要正确设置alsa,确保arecord这个工具能正常工作,并且默认设备能够正确录音。如果这些问题解决了,它就应该能正常使用了。
最好是重新编译PyAudio(Portaudio),不使用Jack和Alsa,而是支持Pulseaudio。
Pulseaudio是Ubuntu系统中的默认声音框架,应该能顺利工作,不会有问题。