CentOS 5 に限らず Linux では alsa を使ってサウンドを再生してるが、ほとんどの Linux で複数のアプリケーションからサウンドデバイスを共有して音を出すことがデフォルトでできない。
例えば rhthmebox で音楽を再生していると gaim のサウンドが再生されなかったりするわけ。
これを有効にするには alsa の dmix プラグインを有効にすればいい。
まずは自分の Linux の ALSA に dmix が組み込まれているか確認する。
ちなみに CentOS 5 では組み込まれている。
組み込まれていない場合は多分コンパイルしなおさないといけないのかな。
下記のコマンドで音が出れば問題無し。
$ aplay -D plug:dmix /usr/share/sounds/phone.wav
もちろんこの段階では dmix は有効になってないので、他の音を出してるアプリは落としてね。
alsa の設定は ~/.asoundrc で行う。
何も考えずに以下をコピペすれば音が出るようになるはず。
$ vi ~/.asoundrc
pcm.dsp0 { type plug slave.pcm "dmix" } ctl.mixer0 { type hw card 0 } pcm.!default { type plug slave.pcm "dmix" }
今度は他に音楽が流れてたりしても音がでるはず。試してみてください。
$ aplay /usr/share/sounds/phone.wav
HOWTO ALSA Complete (include dmix) - Gentoo Linux
Advanced Linux Sound Architecture - asoundrc file
んー、 gentoo の Wiki はすげーな