ALSA的設定檔

來源:互聯網
上載者:User

ALSA的設定檔對於ALSA非常重要。常見的有三個:alsa.conf, asoundrc, asound.conf。
1. 核心設定檔ALSA核心設定檔位於/usr/share/alsa/目錄下,主要設定檔為/usr/share/alsa/alsa.conf 。其它檔案是否需要,位置在哪,都是由alsa.conf來決定的。通常會有/usr/share/alsa/card 和/usr/share/alsa/pcm兩個子目錄,用於設定Card相關的參數,別名以及一些PCM預設設定。此外,在alsa.conf中,通常還會引用 /etc/asound.conf 和 ~/.asoundrc這兩個設定檔,這兩個檔案通常是放置個人需要特殊設定的相關參數。按照Alsa官方文檔的說法,1.0.9版本以後,這兩個檔案就不再是必要的,甚至是不應該需要的。至少是不推薦使用。不過,在嵌入式系統中使用,為了簡單和方便測試,恰恰是需要修改這兩個檔案。


2. alsa.confalsa.conf中主要的一些內容包括:1) 用hook讀取了/etc/asound.conf 和 ~/.asoundrc這兩個設定檔:@hooks [{ func load files [ "/etc/asound.conf" "~/.asoundrc" ] errors false } ]2) 設定了default pcm的一些預設參數,如,預設使用Card 0 ,Device 0作為音訊裝置等等defaults.ctl.card 0defaults.pcm.card 0defaults.pcm.device 0 defaults.pcm.subdevice -1defaults.pcm.nonblock 1defaults.pcm.ipc_key 5678293。。。3) 設定了Alsa 內建的一些plugin的介面參數,例如file:pcm.file {@args [ FILE FORMAT ]@args.FILE {type string}@args.FORMAT {type stringdefault raw}type fileslave.pcm nullfile $FILEformat $FORMAT}File plugin的作用是將PCM資料流儲存到檔案中。


3. asoundrc和asound.conf按照ALSA官方說法,asoundrc是針對個人使用者的設定檔,asound.conf是全域的設定檔。其中,asoundrc位於主目錄下,是個隱藏檔案:“.asoundrc”。asound.conf位於/etc目錄下。對於最新版本的ALSA庫來說,這兩個檔案已不再需要。但是對於一些特定應用來說,他們的使用恰到好處。典型的asoundrc檔案如下:  # Overwrite existing devicespcm.!default{type plugslave.pcm "softvol"channels 2} # Add new sofvol PCM devicepcm.softvol{type softvolslave{pcm "hw:0,0"}
control{name "Softmaster"card 0}}


4. ALSA配置狀態儲存,恢複和自動載入實際使用過程中,常常需要動態修改音效卡的配置資訊,如更新asoundrc中的Mixer資訊。如果不對當前音效卡的配置狀態進行儲存,下次啟動系統時,將還原到原始狀態。為此,我們有必要對音效卡的配置狀態進行儲存。音效卡配置狀態儲存工具為:alsactl,具體儲存命令為: alsactl store -f /var/lib/alsa/asound.state 這樣就在/var/lib/alsa/目錄下產生了asound.state檔案,該檔案儲存了音效卡的狀態配置資訊,包括常用的mixer配置資訊。相應的音效卡狀態恢複命令為:alsactl restore -f /var/lib/alsa/asound.state註:在每次修改完音效卡設定檔之後,必須要保證設定檔被系統載入,否則在儲存音效卡配置狀態資訊時,alsactl讀取的是上次音效卡的狀態。常用的載入設定檔的方法是播放一個音頻檔案,例如:speaker-test -twav這樣就可以將剛剛修改的設定檔載入到系統中,然後執行相應的儲存命令,即可將相應的音效卡狀態資訊儲存到檔案中。

得到了音效卡的配置狀態資訊仍不能保證系統啟動時自動載入並應用狀態資訊。需要修改啟動設定檔,加入ALSA Daemon。啟動設定檔為:/etc/rc.conf,在包含DAEMONS的一行內加入alsa項目。這樣,系統啟動時會自動執行/etc/rc.d/alsa指令碼,該指令碼會自動執行前面所說的音效卡狀態恢複命令,恢複Mixer配置資訊。


查看原文:http://hi.baidu.com/liuhelishuang/item/9938f13b3daea34a033edcbb

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.