为什么需要PulseAudio?


13

我正在阅读并试图理解为什么有人要使用Pulse Audio,但我却听不懂。我读了这个https://www.linux.com/news/hardware/drivers/8100-why-you-should-care-about-pulseaudio-and-how-to-start-doing-it,但我仍然没有令人信服的答案。我设置了一个声卡。(我不需要多路复用来自多个声卡的声音)。我知道所有应用程序都是用不同的API,ALSA,OSS,JACK等编写的。因此,如果我将所有这些框架配置为通过脉冲音频路由声音,那么相对于允许所有这些框架直接与声卡通信,我有什么好处?司机?另外,我看不到Pulse Audio拥有自己的应用程序API。所以我仍然需要选择一个框架(例如ALSA)。谢谢


5
一方面,我知道我曾经遇到过一个问题,即如果programA使用了声卡,那么在programA关闭之前,programB无法使用它。即使programA不再使用它。就我而言,当pulseaudio出现时,这种事情就消失了。也许我可以将ALSA或OSS配置为也允许多个程序访问声卡,但我始终不知道该怎么做。
terdon

2
他们(pulseaudio)认为,Linux上许多音频系统的解决方案是创建另一个音频系统。
ctrl-d

如果这是一个可以模仿其他系统的系统,或者具有简单的界面,则可以将其作为解决方案。看来这没有实现。
schily 2015年

Answers:


17

全部与多路复用有关。

我不需要多路声卡之间的声音

啊,但是你做到了!如果出于任何原因想要一次播放来自两个源的音频,则需要多路复用。

OSX和Windows在内核中处理多路复用(但仍在软件中),这就是为什么在这些平台上永远/很少会出现这种情况的原因。

但是,在Linux上,使用ALSA之类的软件,多路复用取决于特定的声卡/实现/驱动程序。

不幸的是,并非所有卡和所有驱动程序实际上都支持此功能。

那就是PulseAudio出现的地方,无论您的声卡/驱动器情况如何,都可以在软件中进行多路复用。

如果没有此功能,如果说直接使用ALSA sans-PulseAudio,并且声卡在Linux上的PCM多路复用支持不佳,那么您一次只能听到一个应用程序的声音。

例如,如果您的网络浏览器中正在播放视频,并且在Pidgin中收到了通知,您将不会听到通知声音,因为您的网络浏览器已经可以控制您的声卡。

通过首先通过PulseAudio路由所有声音,可以避免此问题。

资料来源:我曾经与ALSA的Ubuntu维护者进行过长时间的IRC对话,在那儿我问了他们与您现在完全相同的问题。


5
谢谢@Zee!这是一个很好的答案!但是,我阅读了这份alsa-project.org/main/index.php/Asoundrc,发现使用“插件”可以使用ALSA配置实现完全相同的效果。我对其进行了测试,并且能够同时播放多个aplay实例。因此,我的问题仍然存在,如果我可以使用ALSA进行全部操作,为什么还需要脉冲音频?
Michael P

5
嘿@MichaelP,很高兴能为您提供帮助。PulseAudio仍然有用的原因是因为您可能正在运行多个音频服务器,而不仅仅是ALSA。例如,如果有人在进行音频编辑工作,他们通常会使用JACK音频服务器,该服务器更适合于低延迟的音频工作,但仍将ALSA用于常规音频。这可能不适用于您,但是PulseAudio意味着您不必担心它们如何工作。如果仅针对ALSA进行配置,则必须分别配置每个用例。PulseAudio可与Alsa以及您可能会使用的任何其他音频源一起使用。
Zee Alexander

2
话虽这么说,PulseAudio可能对您并不是特别有帮助,但是通常,非准系统发行商都可以直接为您配置它,因此没有真正的理由将其替换为ALSA插件。如果您正在运行诸如Arch之类的发行版,则必须从头开始自行配置所有内容,请改用ALSA插件。
Zee Alexander

1
感谢@Zee Alexander,这解决了我所有的困惑。谢谢你的回答。我希望PulseAudio可以在他们的网站上很好地解释它。
Michael P

3

自从将Dmix引入alsa 以来,pulseaudio变得毫无用处。在某种程度上启用了Dmix的Bare alsa(我无需设置任何内容)对我来说要好得多。例如,更改声音水平时没有延迟。

如果您使用的是最新的alsa,请卸载pulseaudio并感觉良好。


1
刚遇到这个弹出问题,卸载了pulseaudio,现在一切听起来都很好(从多个来源播放也很不错)。Alsa驱动程序4.4.0-104,utils 1.1.0
klogd,

1
WTaF。那么为什么发行版仍然启用pulseaudio复用守护程序?它是缓慢,有故障的自动对焦,并且是造成过多声音问题的元凶!我禁用守护程序而不是卸载整个程序包,因为与ALSA配置存在依赖关系,该程序包确实表现良好。
Dominic Cerisano
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.