/proc/asound详细介绍
?
本文轉載于:Proc asound 文檔
ALSA使用/proc/asound目錄下的文件保存設備信息并且實現一些控制目的。
這些文件是什么?
/proc信息與硬件(驅動)無關,例如USB描述符。他的內容由驅動的作者負責,所以在實際中很難進行完整全面的描述。也就是說ALSA具有一些標準,大多數驅動都支持這些標準。。
由ALSA本身提供的最基本的文件:
/proc/asound/cardX(這里X是聲卡的編號,從0到7)
???? 對于系統中已經識別的每個聲卡都存在對應的cardX目錄。關于這個目錄內容的信息請看下面。
/pro/asound/cards(只讀)
???? 已注冊的聲卡的列表
/proc/asound/dev/
???? 存放特殊的設備文件,用于針對聲音操作進行編程。
???????? 如果系統使用devfs,就會有這個目錄。
???????? 如果系統沒有使用devfs(從2006-06起,大多數都沒有使用),就根本不會有這個文件或者僅僅是指向/dev/snd的符號鏈接。
/proc/asound/devices (只讀)
???? 已注冊的ALSA設備的列表(主設備號為116)
/proc/asound/hwdep (只讀)
???? hwdep(硬件相關)控制列表。并不會在所有的系統中出現(仍然存在嗎?)
/proc/asound/meminfo (只讀)
???? 內存使用信息。該proc文件僅當使用內存調試或所有選項構建ALSA驅動時才會有,該文件顯示了當前在內核空間分配的內存。
/proc/asound/modules (只讀)
???? 已注冊聲卡驅動的列表,并不是所有為ALSA所加載的內核模塊,而是硬件驅動的列表。一行對應一個正在使用的聲卡
/proc/asound/oss/
???? 包含關于OSS模擬的信息的目錄。關于該目錄內容的信息請看下面
/proc/asound/pcm (只讀)
???? 已分配的pcm流的列表。注意:可能并不意味著是激活的流的列表,它是設備的一個列表。這對于斷定hw:0,0風格的設備名稱非常有用,設備名稱往往是命令如aplay所需要的。
/proc/aasound/seq/
??? 包含關于音序器的信息。關于該目錄內容的信息請看下面
/proc/asound/timers (只讀)
??? 類似于/proc/asound/pcm, 它是一個ALSA已知的計時器的列表,并且(好像)描述了當前哪個是實際正在實際使用。
/proc/asound/version (只讀)
??? ALSA子系統模塊(或內核)構建的版本和日期。
請注意:標明“只讀”的設備僅僅用來從內核中提供信息。其他的文件是可讀可寫的,可以用來向ALSA發送命令。
在/dev/snd(/proc/asound/dev)目錄下的設備文件
??? 設備文件是應用為了執行聲音操作如錄音、播放、改變聲音大小、獲取時間信息、執行MIDI序列化所相關的文件。通常位于/dev/snd,在有些系統上也可能在/proc/asound/dev
??? 通常這些設備文件以 aaaCxDy 的形式命名
??? aaa 是服務的名字
??? x 是卡的編號
??? y 設備編號
| controlC? control devices (i.e. mixer, etc.) hwC?D? hwdep devices midiC?D? rawmidi devices pcmC?D?p pcm playback devices pcmC?D?c pcm capture devices seq sequencer device timer timer device |
/proc/asound/oss目錄
該目錄下文件的內容是動態改變的,沒有OSS模擬模塊(snd-pcm-oss, snd-mixer-oss)加載時,就不會列出pcm或mixer設備。
| /proc/asound/oss/devices (RO)the list of devices already registered/proc/asound/oss/sndstat (RO)/dev/sndstat compatible list |
/proc/sound/cardX/目錄
| id (RO)the id string of the cardac97#? (RO)AC97 codec informationac97#?regs (RO)(printable) register dumpmidi? (RO)the current status of input/output on therawmidi devicepcm?pthe directory status of the given pcm playback stream pcm?cthe directory status of the given pcm capture stream |
/proc/asound/cardX/pcmXX目錄
這些可選目錄中的文件包含了PCM流的信息。注意,在內核2.6.17和之后的內核只有在內核配置文件中使能了CONFIG_SND_VERBOSE_PROCFS("詳細的procfs內容")后都會出現這些文件。
| pcm??/info (RO)the pcm stream general info (card, device, name, etc.)pcm??/oss (RO)oss emulation info (shown only when the pcm is openedas an oss device).pcm??/sub?the substream information directorypcm??/sub?/info (RO)the pcm substream general info (card, device, name, etc.)pcm??/sub?/status (RO)the current status of the given pcm substream(status, position, delay, tick time, etc.)pcm??/sub?/hw_params (RO)hw_params set-up on the substream(buffer size, format, etc.)pcm??/sub?/sw_params (RO)sw_params set-up on the substream(threshold, etc.)pcm??/sub?/prealloc (RW)the number of pre-allocated buffer size in kb.you can specify the buffer size by writing to this proc file:# echo 128 > /proc/asound/card0/pcm0p/sub0/preallocto allocate 128kbyte for playback, substream #0, stream #0on the card #0. |
可以運行下面的命令查看所有alsa模塊的選項:
| modinfo $(modprobe -l snd-*) > ~/modinfo |
/proc/asound/seq/ 目錄
?
clients
Need info
drivers
Need info
oss
Need info
queues
Need info
timer
Need info
硬件設備是什么呢?
典型的輸出類似于下面:
| prompt# cat /proc/asound/devices 0: [ 0] ?: control 1: ?: sequencer 16: [ 0- 0]: digital audio playback 18: [ 0- 2]: digital audio playback 24: [ 0- 0]: digital audio capture 25: [ 0- 1]: digital audio capture 33: ?: timer |
上面的例子說明有一個控制通道,兩個PCM 放音(playback)設備(DAC’s),兩個PCM錄音設備(ADC‘s),一個MIDI序列器(sequencer)和一個計時器。
在上面例子的系統上,沒有任何重映射,這等價于下面:
設備:
- First PCM playback DAC
- What it does: Plays sound
- The device file looks like:
- crw-rw---- 1 root audio 116, 16 Mar 4 21:30 pcmC0D0p
- (the date on yours will probably be different)
- What ALSA calls it: the playback half of?hw:0,0, which is a?duplex device
- First PCM recording ADC
- What it does: Plays sound
- The device file looks like:
- crw-rw---- 1 root audio 116, 16 Mar 4 21:30 pcmC0D0c
- What ALSA calls it: the recording half of?hw:0,0, which is a?duplex device
- Control Channel for first soundcard
- What it Does: controls volume/recording gain (and other stuff?)
- The device file looks like:
- crw-rw---- 1 root audio 116, 0?Mon DD hh:mm?/dev/snd/controlC0
- (Mon DD hh:mm?will be the date and time the device file was created on your system)
- What ALSA calls it: ???
?
/proc將會改變:
在將來,/proc將僅僅被用于進程信息,之后要在/sys系統中查找ALSA
在2.6內核源碼中,/Documentation/filesystems/sysfs.txt有所說明。/sys自從2006-06(內核2.6.16)就存在了,然而/proc接口還沒有改變。
總結
以上是生活随笔為你收集整理的/proc/asound详细介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: /proc/acpi详细介绍
- 下一篇: /proc/irq和/proc/inte