PyAudio尝试使用JACK

7 投票
1 回答
14918 浏览
提问于 2025-04-16 09:51

我在使用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

1 个回答

12

对于那些通过谷歌搜索偶然找到这个老问题的人:

pyaudio显示的消息...

jack server is not running or cannot be started

...其实是个提示,而不是错误。这意味着portaudio尝试连接Jack但失败了,但并不代表它放弃了其他的连接方式。

在这种情况下,你应该已经有一个可以正常工作的PyAudio对象,它是通过ALSA来运行的。你可以通过查看可用设备的列表来确认这一点:

>>> 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

撰写回答