PyAudio 不起作用并在 ubuntu 上中断声音

Posted

技术标签:

【中文标题】PyAudio 不起作用并在 ubuntu 上中断声音【英文标题】:PyAudio does not work and breaks sound on ubuntu 【发布时间】:2013-02-17 09:45:21 【问题描述】:

好的,所以我使用 apt-get 从包 python-pyaudio 安装了 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

它会吐出那些错误消息。经过一番研究,我发现了这个问题:

PyAudio working, but spits out error messages each time

在答案中提到它们只是警告

但对我来说,音频实际上工作并破坏了我系统上的音频,使声音小程序显示所有空白并且没有音频输出工作

之前:

之后:

这是我可以解决的问题吗?

【问题讨论】:

你能解决这个问题吗? 【参考方案1】:

您需要正确配置 alsa,确保 arecord 正常工作并且默认设备正确录制声音。如果修复它应该开始工作。

最好在没有 Jack 和 Alsa 的情况下重新编译 PyAudio(Portaudio) 并支持 Pulseaudio。

Pulseaudio 是 Ubuntu 中的默认声音框架,应该可以正常工作。

【讨论】:

【参考方案2】:

您需要它尝试连接的 JACK 守护进程:

jack server is not running or cannot be started

如果尚未安装,它应该与大多数主要的 Linux 发行版一起提供。您可能应该看看他们的page 并决定您需要哪种音频架构(可能是 ALSA)以及您希望它以什么速率运行。我还可以建议在其上运行一个 GUI 界面,例如 QJackCtl,因为 JACK 有时需要根据您的声卡进行一些配置。

【讨论】:

以上是关于PyAudio 不起作用并在 ubuntu 上中断声音的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 3.7 上安装 PyAudio?

使用 PyAudio 录制扬声器输出

Nodejs module.parent 条件在 ubuntu 服务器上不起作用

使用 pyaudio 在 linux/ubuntu 上运行烧瓶应用程序时出现 ALSA 错误

Postgres createdb 和 create database 在 Ubuntu 18.04 中不起作用

部署到 tomcat 9(Ubuntu 18.04)时,角度路由不起作用