6

我在 Python 2.6.6 下运行 PyAudio,并希望它使用 ALSA 而不是 JACK。

In [1]: import pyaudio

In [2]: pa = pyaudio.pa

In [3]: pa.initialize()
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
4

1 回答 1

11

对于那些碰巧通过谷歌发现自己在这个老问题上的人:

pyaudio显示的消息...

jack server is not running or cannot be started

...内容丰富,不是错误。这意味着 portaudio 尝试连接到 Jack 但失败了,但这并不意味着它放弃了一切。

此时,您应该拥有一个使用 ALSA 的功能齐全的 PyAudio 对象。您可以通过例如查看可用设备列表来验证这一点:

>>> import pyaudio
>>> pa = pyaudio.PyAudio()
[...lots of crap from ALSA...]
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
>>> print '\n'.join([y['name'] 
... for y in [pa.get_device_info_by_index(x)
... for x in range(pa.get_device_count())]])
bcm2835 ALSA: - (hw:0,0)
bcm2835 ALSA: IEC958/HDMI (hw:0,1)
USB Audio Device: - (hw:2,0)
sysdefault
dmix
default
于 2016-02-01T02:28:26.680 回答