複製鏈接
請複製以下鏈接發送給好友

ALSA

(高級Linux聲音架構的簡稱)

鎖定
ALSA是Advanced Linux Sound Architecture的縮寫,高級Linux聲音架構的簡稱,它在Linux操作系統上提供了音頻和MIDI(Musical Instrument Digital Interface,音樂設備數字化接口)的支持。在2.6系列內核中,ALSA已經成為默認的聲音子系統,用來替換2.4系列內核中的OSS(Open Sound System,開放聲音系統)。 [1] 
中文名
ALSA
外文名
Advanced Linux Sound Architecture
全    稱
高級Linux聲音架構
主要特性
支持對稱多處理線程安全

ALSA系統介紹

ALSA的主要特性包括:高效地支持從消費類入門級聲卡到專業級音頻設備所有類型的音頻接口,完全模塊化的設計, 支持對稱多處理(SMP)和線程安全,對OSS的向後兼容,以及提供了用户空間的alsa-lib庫來簡化應用程序的開發。

ALSA特點介紹

從歷史上來説,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中的另外一個音頻驅動程序框架。
參考資料