为什么需要 PulseAudio?

为什么需要 PulseAudio?

我正在阅读并试图理解为什么有人想要使用脉冲音频,但我无法理解。我读了这个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)。谢谢

答案1

这都是关于多路复用的。

我不需要从多个声卡复用声音或将声音复用到多个声卡

啊,但是你知道!如果您出于任何原因希望能够同时播放两个来源的音频,则需要多路复用。

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

然而,在 Linux 上,使用 ALSA 这样的软件,多路复用取决于特定的声卡/实现/驱动程序。

不幸的是,并非所有卡和所有驱动程序实际上都支持开箱即用。

这就是 PulseAudio 的用武之地,它可以在软件中进行多路复用,无论您的声卡/驱动程序情况如何。

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

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

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

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

答案2

自推出以来混合在 alsa 中,pulseaudio 变得毫无用处。 Bare alsa 与 Dmix 以某种方式在内部启用(我不必设置任何东西)对我来说效果更好。例如,改变声级时没有延迟。

如果您使用的是最新的 alsa 并且感觉良好,只需卸载pulseaudio即可。

答案3

你不知道。对于大多数用户来说,这是一个完全不必要的中间件。大多数需要音频的应用程序直接使用ALSA就可以了。 ALSA 可以很好地处理诸如基本多路复用之类的事情(尽管它可能需要插件)。在我的系统上,我没有安装pulseaudio,我可以玩视频游戏并在Rhythmbox 中播放背景音乐,没问题。它可以与 ALSA 一起开箱即用,无需复杂的设置。

我会向任何遇到任何音频相关问题的人推荐:首先要尝试的是撕掉pulseaudio。我最近自己也遇到了一些音频问题,将其取出后,它们立即消失了。

说实话,很难想象有人会真的这么做需要脉冲音频。对于只希望声音与桌面应用程序配合使用的“典型”家庭系统用户来说,ALSA 本身非常适合。对于想要执行更复杂的音频任务的更高级用户,或者需要专业品质音频的人来说,JACK 显然是您想要的。在我看来,脉冲似乎相当臃肿和多余。

相关内容