安装结束,如果没有遇到错误接下来开始配置:
1. 尽管 OSS4 内建了软件混响,我还是没有删除 PulseAudio,因为 Ubuntu 的桌面环境很多部件仅设置了 PulseAudio 后端。我不想一一折腾,而只是尽量让程序使用 OSS4,毕竟主要的播放器等都支持自定义音频输出。如果你也这样想,照下面做;如果你不想,跳过这段。
A. 修改 PulseAudio 设置使其默认使用 OSS4 输出:
gksu gedit /etc/pulse/default.pa
添加一行:
load-module module-oss device=”/dev/dsp” sink_name=output source_name=input mmap=0
B. 配置 gstreamer 使用 OSS4 作为后端:
安装 gstreamer0.10-plugins-bad
sudo apt-get install gstreamer0.10-plugins-bad
运行命令:
gstreamer-properties
将输入和输出均设置为 OSS。
C. 设置 libasound 将传递给 ALSA 的声音请求转至给 OSS4:
gksu gedit /etc/asound.conf
添加以下内容:
pcm.oss {
type oss
device /dev/dsp
}
pcm.!default {
type oss
device /dev/dsp
}
ctl.oss {
type oss
device /dev/mixer
}
ctl.!default {
type oss
device /dev/mixer
}
D. 配置启动时默认启用 OSS4 而非 ALSA:
sudo dpkg-reconfigure linux-sound-base
选择 OSS 而非 ALSA 或 default。
然后重启电脑,系统级配置基本完成。然后可以给支持自定义音频系统的软件配置成使用 OSS4,比如 Audacious,Wine,Audacity,VLC, (s)mplayer,clementine。
2. 如果你想删除 PulseAudio,也有办法,但是不保证所有程序都能正确输出声音。首先是按照前一种配置方法里的 B、C、D 调整设置,然后按照 E 和 F 对 PulseAudio 开刀。
E. 使用 GStreamer 接管 GNOME 声音系统,安装为 GStreamer 后端编译的 libcanberra:
sudo add-apt-repository ppa:dtl131/ppa
sudo apt-get update
sudo apt-get purge pulseaudio
sudo apt-get upgrade
F. 配置 Rhythmbox 等程序使用 Gstreamer (没错,还需要配置)
运行:
gconf-editor
找到 system/gstreamer/0.10/audio/default,将其中所有仍被设置为 pulsesink 的键(如 musicaudiosink 和 chataudiosink)都改为 osssink。
系统默认的音量控制插件会失效,因为它是基于 PulseAudio 的,可以在面板上单击右键,添加一个 GNOME 的声音控制。
然后重启,应该绝大部分声音系统都没有问题了。可能存在的问题:
1.Flash,需要安装 flashplugin-nonfree-extrasound 来获得支持 oss4 的 libflashsupport。
2.Firefox,xulrunner 无法编译成同时支持 Alsa 和 OSS4,所以可能有问题。