モジュールを自動的にアンロードしたいときは、/etc/crontab
ファイルに
次の行を記入してください。
*/10 * * * * root /sbin/modprobe -rs snd-card-0 snd-card-1; /sbin/rmmod -as
必要に応じてサウンドカードのリストを拡張したい場合は、次のようにしてください。
ALSA PCM デバイスから OSS デバイスへのマッピング
/dev/snd/pcmC0D0 -> /dev/audio0 (/dev/audio) -> minor 4 /dev/snd/pcmC0D0 -> /dev/dsp0 (/dev/dsp) -> minor 3 /dev/snd/pcmC0D1 -> /dev/adsp0 (/dev/adsp) -> minor 12 /dev/snd/pcmC1D0 -> /dev/audio1 -> minor 4+16 = 20 /dev/snd/pcmC1D0 -> /dev/dsp1 -> minor 3+16 = 19 /dev/snd/pcmC1D1 -> /dev/adsp1 -> minor 12+16 = 28 /dev/snd/pcmC2D0 -> /dev/audio2 -> minor 4+32 = 36 /dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 39 /dev/snd/pcmC2D1 -> /dev/adsp2 -> minor 12+32 = 44
/dev/snd/pcmC{X}D{Y}
という表示において、最初の数字はサウンドカード
番号、二番目の数字はデバイス番号を意味しています。
ALSA ドライバは、devfs
による拡張機能を完全にサポートしています。
devfsd.conf
ファイルには次の行を付け加えてください。
LOOKUP snd MODLOAD ACTION snd REGISTER sound/.* PERMISSIONS root.audio 660 REGISTER snd/.* PERMISSIONS root.audio 660
*警告* 上記の設定例では、システム上に audio というグループがある ことを前提としています。そうしたシステム設定をしていない場合は、 audio の部分を他のグループ名 (例えば、root など) に置き換えて ください。
(訳注: devfs については、 こちらを参照してください。)
/proc/asound/#card#/pcm#o
文字列 "Playback erase
" は、OSS アプリケーションに関する全ての
追加情報を消去します。
文字列 "Playback <app_name> <fragments> <fragment_size> [<options>]
"
文字列 "Capture erase
" は、OSS アプリケーションに関する全ての
追加情報を消去します。
文字列 "Capture <app_name> <fragments> <fragment_size>
[<options>]
"
<app_name>
とは、アプリケーションの名前です。優先順位を高くし
たいアプリケーションにはパスを指定することができますが、パス無しでも問題あり
ません。
<fragments>
とは、フラグメントの数を表し、自動は 0 を指定しま
す。
<fragment_size>
とは、フラグメントのサイズを表し、自動は 0 を
指定します。
<options>
とは、オプションのパラメータです。
disable
では、アプリケーションはこのチャンネルの PCM デバイスを
開こうとしますが、それを使おうとしません。(バグか、mmap が必要なのかどちらか
です。) Quake などの場合には都合がいいのですが...block
では、ブロックモードを強制します。(rvplayer)no-block
では、非ブロックモードを強制します。
使用例は、次のようになります。
echo "Playback x11amp 128 16384" > /proc/asound/0/pcmD0o echo "Capture squake 0 0 disable" > /proc/asound/0/pcmD0o echo "Playback rvplayer 0 0 block" > /proc/asound/0/pcmD0o