如何解决 Pulseaudio 由于缺少库而未连接混音器的问题?

Mal*_*ala 6 pulse-audio alsa

我一直在尝试安装pulseaudio,但似乎无法找到关于如何处理 ALSA 的直接答案。PulseAudio 是否运行在 ALSA 之上?我应该先摆脱 ALSA 吗?ALSA 是一个声音服务器,对吧?PulseAudio 也是如此...正如您所知,我有些困惑。无论如何,现在我似乎都有 - 除了似乎都没有工作:-\

/etc/asound.conf 包含:

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}
Run Code Online (Sandbox Code Playgroud)

pulseaudio 确实在运行。但是,尝试“amixer -Dpulse”会导致

ALSA lib control.c:874:(snd_ctl_open_conf) Cannot open shared library
/usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
amixer: Mixer attach pulse error: No such file or directory`
Run Code Online (Sandbox Code Playgroud)

我查了一下,文件确实不存在。我不过有
/usr/lib32/alsa-lib/libasound_module_ctl_pulse.so

在VLC播放一首歌会让流中pavucontrol露面,但没有音频将使得其方式我的发言......我在团体pulsepulse-access(不完全知道他们是为了什么,但估计他们不能伤害) ,并已按照指南http://pulseaudio.org/wiki/PerfectSetup进行操作。

更新:

奇怪的是,当我删除/etc/asound.conf 时,音频流仍然出现在 pavucontrol 中……所以……pulseaudio 真的在运行吗?我在用吗?我怎么知道?

qua*_*ote 5

这是一个直接的答案:PulseAudio 是一个声音服务器;ALSA 是一个内核声音子系统。它们做不同的事情——ALSA 为您的声卡或板载声音芯片提供芯片组驱动程序;PulseAudio 在程序、声音芯片甚至系统之间路由声音。

PulseAudio 是 POSIX 系统的声音服务器。声音服务器基本上是您的声音应用程序的代理。当声音数据在应用程序和硬件之间传递时,它允许您对声音数据进行高级操作。使用声音服务器可以轻松实现诸如将音频传输到另一台机器、更改样本格式或通道数以及将多个声音混合成一个之类的事情。

要使用 PulseAudio,您需要在某处安装声音驱动程序。这可以是 ALSA 或OSS;这些提供内核声音驱动程序以从计算机输出声音信号。

按照“第一步页面中的步骤打开 PulseAudio 命令行;您可以使用CLI来测试运行是否正常。

# get a pulseaudio commandline
$ pulseaudio -nC

Welcome to PulseAudio! Use "help" for usage information.

# run this to see what sinks are configured
>>> list-sinks
Run Code Online (Sandbox Code Playgroud)

还要检查您的/etc/pulse/daemon.conf/etc/pulse/default.pa配置文件(/usr/local/etc/pulse如果您自己编译和安装 PA,它们可能会安装到)。