讓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的預設裡邊不是開啟的。
按照這個設置好之後並沒有馬上生效。