如何在默认情况下使用alsa或pulse-audio? (切换到i3-wm)

Modified on: Sat, 09 Jun 2018 13:20:23 +0800

我可能不理解核心概念,在这种情况下纠正我,如果我错了。

Ubuntu附带两个不同的音频渲染服务器,pulse和alsa。 Alsa是脉冲的中间层吗?基本上我需要知道我正在使用哪一个。

我需要知道的原因是我试图从统一切换到i3-wm。在设置i3的过程中,我发现我没有音频而且发现这个帖子。它指定了各种选项,用于将我的笔记本电脑音量上下键绑定到它们的功能,在我修改了一些选项后,我得到了非常沙哑的音频,这就是为什么(我假设)我需要知道我实际使用的是什么。

最佳答案

Ubuntu使用ALSA和Pulseaudio来控制声音输入和输出。

ALSA

ALSA用作基于内核的系统,用于将声音硬件连接到操作系统。系统中的所有声卡都将使用驱动程序和卡特定设置进行控制。其中大部分是在引擎盖下完成的,无需用户干预。

此外,ALSA还提供控制我们音响系统的库和工具。我们大多数人可能遇到的工具可能是alsamixer,一个用于控制音量的半图形终端应用程序,以及我们系统中所有卡和配置文件的静音状态。

我们只需使用ALSA就可以向我们的声卡发出声音,而无需使用PulseAudio或其他任何声音服务器。

Pulse Audio

在ALSA基础之上,PulseAudio声音服务器提供了更多工具来更好地控制我们的音响系统。这是通过模块来定义音量级别,音频卡配置文件,输出接收器或输入源,以及更多,以便从大多数Ubuntu应用程序轻松访问。

与ALSA一样,PulseAudio也可以在尽可能少的用户交互中运行。每当我们需要更改音量,平衡或输入/输出设备时,它就是我们或我们的应用程序调用的PulseAudio模块或应用程序。

PulseAudio的专业替代品是JACK音频服务器,它有更多选项可以与我们的声音硬件进行交互,并且更低延迟支持。只有少数音乐制作应用程序希望JACK运行,这可以与PulseAudio并行完成。

应用程序/桌面集成

可以从Unity / GNOME桌面运行的应用程序(例如音量控制小程序)进一步控制Ubuntu声音系统。

任何给定的应用程序使用声音控制将取决于应用程序开发人员。有些应用程序只使用ALSA,有些需要PulseAudio,有些需要JACK。

因此,每当我们在Ubuntu上安装另一个桌面管理器时,我们可能会丢失桌面特定的应用程序来控制声音,但ALSA和PulseAudio仍将在后台运行以进行声音控制。

我们可能需要安装其他软件包,例如pavucontrol ,基于pulseaudio GTK的音量控制应用程序。

是否有ALSA或PulseAudio正在运行?

ALSA和PulseAudio都带有命令行应用程序来打印出我们音响系统的状态。

  • pulseaudio的:

    pactl list
    
  • ALSA:

    aplay -l
    

如果音响系统没有运行,两者都会出错。 ALSA将加载内核,PulseAudio将在稍后启动。如果不是这种情况,我们可以从终端手动启动PulseAudio:

pulseaudio [options]  ## option -D starts the daemon

如果我们遇到音频问题,我建议您阅读大卫亨宁森写的关于我们应该做的事情的帖子,我们会进一步去调试我们的音频问题

作者:Community,Takkat

相关问答

添加新评论