是否有任何现代 Linux 发行版仍然支持 /dev/audio?

是否有任何现代 Linux 发行版仍然支持 /dev/audio?

我正在尝试调试一个使用旧版 OSS/dev/audio接口播放声音的程序。但是,Ubuntu 和其他操作系统不再包含接口/dev/audio。有没有比较现代的 Linux 发行版可以下载到虚拟机中进行测试?

答案1

如果你的电脑使用 PulseAudio(Ubuntu 支持),请通过以下方式运行该程序padsp

padsp yourprogram

它将拦截打开/dev/audio/dev/dsp和其他相关设备(使用 LD_PRELOAD 共享库)的尝试,并将声音直接发送到 PulseAudio。

对于使用普通 ALSA 的系统,等效于aoss来自“alsa-oss”包。

aoss yourprogram

aoss也应该可以在 Ubuntu 上运行,因为默认情况下 ALSA 本身是通过 PulseAudio 重新路由的,但padsp在这种情况下使用效果更好。


大多数内核还具有snd-pcm-oss模块,它提供使用 ALSA 的真实设备/dev/dsp/dev/audio

sudo modprobe snd-pcm-oss
yourprogram

我听说它的效果不如aoss,但我不确定它是否有效根本当 PulseAudio 运行时。

答案2

Linux 内核版本 4.15 中已删除对 /dev/audio 的支持,因此您需要寻找 CentOS 7.x 之类的发行版或任何基于旧内核的发行版。请确保使用 modprobe 安装 snd-pcm-oss 和 snd-mixer-oss 内核模块。

相关内容