在Linux中,有时会出现这种情况:某两种都会播放声音的软件无法同时运行,后打开的软件会报类似“音频模块初始化失败”的错误。这是由于Linux中两种不同的音频驱动服务(OSSALSA)的冲突导致,可通过Pulse Audio解决,它可以作为一个中介层,统一两套驱动提供的服务。

Sometimes two different kinds of applications playing audio don’t work well together on Linux platforms. Application launched later would report error like ‘Audio initialized error’, owing to conflict of two sets of audio drivers, called OSS and ALSA. We can fix it by installing Pulse Audio, which plays a role of medium between OSS and ALSA, and builds up two kinds of audio API.

由此原因造成的结果包括:

  • Linux版异星工厂 报错:[Audio error] Couldn’t initialise audio, audio is disabled.

The above causes would cause:

  • Factorio for Linux reports: [Audio error] Couldn’t initialise audio, audio is disabled.

解决步骤

Solution Steps

yaourt -S pulseaudio pulseaudio-alsa lib32-libpulse lib32-alsa-plugins ossp
sudo systemctl enable osspd
sudo reboot

以下是可供选择安装的另外几个包,可为PulseAudio提供扩展:

There are some extra packages you can choose for PulseAudio:

  • pulseaudio-bluetooth: 蓝牙 (Bluez) 支持
  • pulseaudio-equalizer: 均衡器 接收器 (qpaeq)
  • pulseaudio-gconf: GConf 支持 (paprefs)
  • pulseaudio-jack: JACK 接收器, 源和jackdbus检测
  • pulseaudio-lirc: 红外 (LIRC) 音量控制
  • pulseaudio-xen[broken link: package not found]: Xen 半虚拟化接收器
  • pulseaudio-zeroconf: Zeroconf (Avahi/DNS-SD) 支持

本文的解决步骤仅针对于ArchLinux,如果是其它Linux发行版,只需使用相适应的软件安装方式即可。

2 对 “使OSS与ALSA在Archlinux中同时工作”的想法;

发表评论

电子邮件地址不会被公开。 必填项已用*标注