我在安装了ALSA和PortAudio的运行Ubuntu 14.04 LTS(x86_64)的Dell E6520笔记本电脑上使用Anaconda Python发行版 - “aplay -L”将默认音频设备显示为“HDA Intel PCH,92HD90BXX Analog”。
安装portaudio19-dev之后,我能够使用以下命令成功完成PyAudio的pip安装:
sudo /usr/local/anaconda/bin/pip install --allow-all-external --allow-unverified PyAudio PyAudio
但是,当我尝试使用Python中的以下命令打开PyAudio对象时:
import pyaudio
p = pyaudio.PyAudio()
我收到以下错误:
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib control.c:953:(snd_ctl_open_noupdate) Invalid CTL hw:0
谷歌搜索错误显示“无法打开共享库...”问题会在各种上下文(包括PyAudio)中弹出,但没有一个建议的解决方案特别令人满意,有些只是简单的可怕。
我发现低级别音频接口的问题很难确定,但是如果这看起来很熟悉,我会非常感谢任何指针。
谢谢!
其他详细信息 - Python版本:
#python --version
Python 2.7.6 :: Anaconda 1.9.1 (64-bit)
我正在使用https://raw.githubusercontent.com/bastibe/PyAudio/master/test/record.py
中的PyAudio'record.py'示例当我从命令行运行它时,我得到以下内容:
#python record.py
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib control.c:953:(snd_ctl_open_noupdate) Invalid CTL hw:0
Segmentation fault (core dumped)
当我调试PyCharm中的代码时,我在第7行之后得到以下输出:
/usr/local/anaconda/bin/python /usr/local/pycharm-4.0.2/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 35435 --file <path to record.py>
pydev debugger: process 5668 is connecting
Connected to pydev debugger (build 139.711)
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib control.c:953:(snd_ctl_open_noupdate) Invalid CTL hw:0
Process finished with exit code 139
我没有得到Python异常。