【问题标题】:Debian Audio Issues, includes Alsa, PulseAudio, and QJackCtlDebian 音频问题,包括 Alsa、PulseAudio 和 QJackCtl
【发布时间】:2016-03-13 13:01:54
【问题描述】:

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

我得到了一台使用 Debian 的新计算机,这是我父亲用备件制造的。它工作得很好,直到我得到它大约一个月后,当我决定我应该开始为我正在编程的游戏添加音频时。就在那时,我意识到我的音频无法正常工作。我向父亲寻求帮助。起初他拒绝了,说我自己做会学到更多。但最终,他同意提供帮助。

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

接下来一两个星期我一直这样做,但有一天它停止了工作。我不知道为什么。那些日子我所做的只是 Python 和 Pygame 编程。我一直在用 qjackctl 进行实验,程序输出中说了一些关于杀死 pulseaudio 的内容(不记得具体是怎么说的了)。所以我打开了top(在终端中输入“top”),杀死了pulseaudio,启动和停止了程序,我的音频又开始工作了。每次重新启动时,我都会这样做大约一周,然后它又神奇地停止了工作。有谁知道如何解决这个问题,最好让它永久化?

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

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

【问题讨论】:

    标签: python audio debian alsa pulseaudio


    【解决方案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 实例禁止。即使是pulseaudio也通过脉冲接口获得了模拟的alsa,但这通常无法正常工作。所以如果是这种情况,我建议通过运行卸载pulseaudio

     apt-get remove pulseaudio 
    

    作为根用户。

    您可以使用您选择的互联网搜索引擎找到许多有关 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上

    剩下的就是通过跟踪和错误来解决......

    祝你成功

    【讨论】:

    • 对不起,我忘了说,我家的电脑无法上网,所以我不能使用那里没有的任何东西。我的父母对我没有足够的信任来访问互联网,但我父亲确实安装了几乎整个 Debian 存档(数百 GB!),所以我可能已经拥有 mplayer。我会在我回家时检查(我现在在学校)。谢谢!
    • 在我删除pulseaudio之前,它是否有可能禁用我在那里的任何其他程序?由于我无法上网,如果我出于某种原因需要它,我将无法取回它。
    猜你喜欢
    • 2015-05-28
    • 2017-08-03
    • 2016-04-28
    • 2011-04-18
    • 2012-01-09
    • 2012-02-11
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多