A much better way of getting esd to work with non-esd-aware apps is to make alsa use its software mixer.
让alsa用它自己的软件混合器一个更好的方法来让esd和不是esd识别的应用程序在一起工作
$ sudo /etc/init.d/alsa-utils stop $ sudo gedit /var/lib/alsa/asound.state
(add the following text verbatim to the start of this file)
$ sudo /etc/init.d/alsa-utils start
# This text should be added to the beginning of
# /var/lib/alsa/asound.state. You only need to add
# it once -- it is saved across reboots.
pcm.asymed {
type asym
playback.pcm dmix
capture.pcm dsnoop
}
pcm.default {
type plug
slave.pcm asymed
}
pcm.dmix {
type dmix
ipc_key 5678293
ipc_key_add_uid yes
slave {
pcm 'hw:0,0'
period_time 0
period_size 128
buffer_size 2048
format S16_LE
rate 48000
}
}
pcm.dsnoop {
type dsnoop
ipc_key 5778293
ipc_key_add_uid yes
slave {
pcm 'hw:0,0'
period_time 0
period_size 128
buffer_size 2048
format S16_LE
rate 48000
}
}
Now as many programs as you want can all use the sound card simultaneously, both the output and the microphone! ESD-aware apps can use ESD, other apps will still work fine.
现在,你可以让你想要的软件全部同时使用声卡, 不管是输出还是和麦克风!ESD识别的应用程序可以使用ESD,另外的应用程序也一样可以正常工作.
One notable misfeature of ESD is that it often ruins the A/V sync when playing videos. After setting up the software mixer, you might find it useful to turn esd off altogether (in tthe Sound control panel uncheck "Enable Software Mixing"). Now, especially with GStreamer 0.10, your movies should have perfect A/V sync.
一个ESD很显着的不好的特性就是在播放视频的时候它会破坏在音频与视频的同步.在设定好软件混合器以後, 你可能会发觉把esd关闭会有些帮助(在音频控制面板里边反选"开启software mixing'). 现在, 特别是在GStreamer 0.10下, 你的电影应该不会有音频和视频不同步发生了. It's a shame that software mixing isn't enabled on Ubuntu by default. software mixing在ubuntu的预设里边不是开启的.
按照这个设置好之后并没有马上生效