ALSA是Advanced Linux Sound Architecture的縮寫,高級Linux聲音架構的簡稱,它在Linux作業系統上提供了音頻和MIDI(Musical Instrument Digital Interface,音樂設備數位化接口)的支持
基本介紹
系統介紹,特點,
系統介紹
ALSA是Advanced Linux Sound Architecture,高級Linux聲音架構的簡稱,它在Linux作業系統上提供了音頻和MIDI(Musical Instrument Digital Interface,音樂設備數位化接口)的支持。在2.6系列核心中,ALSA已經成為默認的聲音子系統,用來替換2.4系列核心中的OSS(Open Sound System,開放聲音系統)。
ALSA的主要特性包括:高效地支持從消費類入門級音效卡到專業級音頻設備所有類型的音頻接口,完全模組化的設計, 支持對稱多處理(SMP)和執行緒安全,對OSS的向後兼容,以及提供了用戶空間的alsa-lib庫來簡化應用程式的開發。
特點
從歷史上來說,Gentoo提供了兩種方法可以使ALSA運行在您的系統上:核心自帶的驅動和外部的alsa-driver軟體包。這兩種方案基本上完成的是同一項任務;這使得提供對外部軟體包的支持異常困難和耗時。Gentoo維護者決定不再繼續對alsa-driver軟體包進行支持,而是將他們的資源集中在Linux核心中的ALSA驅動部分。這份指南將只集中介紹如何通過在核心自帶的驅動來配置ALSA。
Jaroslav Kysela過去是這個項目的領導者,這個項目開始於為1998年Gravis Ultrasound所開發的驅動,它一直作為一個單獨的軟體包開發,直到2002年他被引進入 linux核心的開發版本 (2.5.4-2.5.5)1。從2.6 版本開始ALSA成為Linux核心中默認的標準音頻驅動程式集,OSS則被標記為廢棄。
ALSA是一個完全開放原始碼的音頻驅動程式集,除了像OSS那樣提供了一組核心驅動程式模組之外,ALSA還專門為簡化應用程式的編寫提供了相應的函式館,與OSS提供的基於ioctl的原始編程接口相比,ALSA函式館使用起來要更加方便一些。利用該函式館,開發人員可以方便快捷的開發出自己的應用程式,細節則留給函式館內部處理。當然 ALSA也提供了類似於OSS的系統接口,不過ALSA的開發者建議應用程式開發者使用音頻函式館而不是驅動程式的API。
Linux中ALSA的主要檔案:
include/sound/driver.h
sound/core/*.c
註:OSS(Open Sound System)是Linux中的另外一個音頻驅動程式框架。