Debian音频问题,包括Alsa,PulseAudio和QJackCtl

时间:2015-12-08 14:45:30

标签: python audio debian alsa pulseaudio

我有一个非常独特的问题,我完全不知道发生了什么。

我有一台新电脑,使用Debian,我父亲使用备件。它工作得很好,直到我拿到它大约一个月后,当我决定开始在我正在编程的游戏中添加音频时。那是我意识到我的音频不能正常工作的时候。我向爸爸求助了。起初他拒绝了,说我自己也会学到更多东西。但最终,他同意提供帮助。

他在终端中做了很多东西,然后他打开了一个名为qjackctl的程序。他启动了JACK音频服务器,等了一下,然后停了下来。音乐开始播放他停止播放的那一刻。他没有解释他做了什么,并说他只是在检查是否有可能让音频工作。它一直有效,直到我重新启动计算机。然后我尝试复制他所做的事情,然后打开qjackctl,启动它,然后停止它。我的音频再次开始工作。

我在接下来的一两周内继续这样做,有一天它停止了工作。我不知道为什么。我所做的每一件事都只是Python& Pygame编程。我一直在试验qjackctl,程序输出说了一些关于杀死pulseaudio的东西(不记得究竟是什么)。所以我打开了顶部(在终端输入“top”),杀死了pulseaudio,启动并停止了程序,我的音频再次开始工作。每次重新启动时我都会这样做一个星期,然后它再次神奇地停止工作。有谁知道如何解决这个问题,并且最好是永久性的?

我花了很长时间研究如何解决这个问题,但我没有找到任何东西,所以我决定看看是否有其他人可以解决这个问题。

编辑:我刚刚查看了KDE设置,我注意到多媒体音频部分中唯一的项目是Pulseaudio。没有其他东西出现,甚至不是alsa。我真的需要这些信息,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在debian gnu / linux上你有很多不同的方法来产生音频输出。基本系统可能是linux内核的alsa接口,可以由用户态应用程序直接访问,也可以通过声音服务器(也是用户态应用程序)访问。我知道的两个声音服务器软件是pulseaudio和jackd。两者都是具有不同设计概念的不同实现。 jackd意味着在专业音频工作室领域更多,而pulseaudio旨在为桌面系统提供简单的音响系统。

只能在一个alsa设备(声卡)上运行其中一个。如果您想直接访问您的alsa设备,则不应使用它。

首先,我将检查您要用于生成音频输出的应用程序支持哪种接口(pulseaudio,jack,alsa)。之后,您应该确保适当的组件正在运行。例如,您可以安装能够使用所有这些方法的mplayer。在那里,您可以使用选项-ao来选择所需的界面。在这里你看到一个样本。

$ mplayer -ao help
Failed to read /etc/mplayer/mplayer.conf.local: No such file or directory
Warning unknown option include at line 177
MPlayer SVN-r37289 (C) 2000-2013 MPlayer Team
Available audio output drivers:
    oss OSS/ioctl audio output
    alsa    ALSA-0.9.x-1.x audio output
    pulse   PulseAudio audio output
    jack    JACK audio output
    sdl SDLlib audio output
    mpegpes DVB audio output
    v4l2    V4L2 MPEG Audio Decoder output
    null    Null audio output
    pcm RAW PCM/WAVE file writer audio output

如果您的应用程序仅使用普通alsa并且被正在运行的pulseaudio实例禁止,则您的描述听起来就像是这样。即使脉冲音频通过脉冲接口也有模拟的alsa但通常不能正常工作。因此,如果我建议通过运行

卸载pulseaudio
 apt-get remove pulseaudio 

以root身份。

您可以使用您选择的互联网搜索引擎找到有关alsa,pulseaudio和jack的许多信息。 arch linux wiki有很多很好的提示,例如:

https://wiki.archlinux.org/index.php/PulseAudio

https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit

https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture

除了包装外,它可以应用于debian

剩下的就是通过追踪和错误来搞清楚......

祝你取得圆满成功