9.4.7. 声音基础设施

用于现在的 Linux 的声卡设备驱动程序由 高级 Linux 声音体系(Advanced Linux Sound Architecture,ALSA) 提供。ALSA 提供了兼容之前的 开放声音系统(Open Sound System,OSS)的模拟模式。

[提示]提示

使用 “cat /dev/urandom > /dev/audio” 或 speaker-test(1) 来测试扬声器(^C 停止)。

[提示]提示

如果你无法听到声音,那你的扬声器可能连接到了一个静音输出。现代的声音系统有许多输出。alsa-utils 软件包中的 alsamixer(1) 可以很好地配置声音和静音设置。

应用软件可被配置为不仅直接访问声音设备,也可以通过一些标准化声音服务器系统来访问它们。

表 9.14. 声音软件包

软件包流行度大小说明
alsa-utilsV:393, I:5192253配置和使用 ALSA 的工具
oss-compatV:2, I:3520在 ALSA 下兼容 OSS,预防 “/dev/dsp not found” 错误
jackdV:3, I:279JACK Audio Connection Kit. (JACK) 服务器(低延迟)
libjack0V:0, I:14337JACK Audio Connection Kit. (JACK) 库(低延迟)
nasV:0, I:0239网络音频系统(Network Audio System,NAS)服务器
libaudio2I:541161网络音频系统(Network Audio System,NAS)
pulseaudioV:387, I:5046411PulseAudio 服务器,替代 ESD
libpulse0V:278, I:646968PulseAudio 客户端库,替代 ESD
libgstreamer1.0-0V:256, I:5495063GStreamer:GNOME 声音引擎
libphonon4I:192680Phonon:KDE 声音引擎

每个流行的桌面环境通常都有一个通用的声音引擎。每个被应用程序使用的声音引擎都可以选择连接到不同的声音服务器。