OpenAL是一款非常優秀的跨平臺音效API軟件,它為電腦游戲設計,為用戶提供了非強悍的音效解決方案,OpenAL主要由3個實體構成:聽眾Listener、聲源Source、緩存Buffer,設計給多通道三維位置音效的特效表現。OpenAL 最初是由 Loki Software 所開發,是為了將 Windows 商業游戲移植到 Linux 上。Loki 倒閉以后,這個專案由自由軟件/開放源始碼社群繼續維護。不過現在最大的主導者(并大量發展)是創新科技,并得到來自 Apple 和自由軟件/開放源代碼愛好者的持續支援。幾乎沒有一API能達到它的全部潛能

OpenAL的發展
OpenAL(Open Audio Library)是自由軟件界的跨平臺音效API。OpenAL最初是由Loki Software所開發,是為了將Windows商業游戲移植到Linux上,Loki倒閉以后,這個項目由自由軟件/開放源始碼社群繼續維護。
OpenAL是Open Audio Library的簡稱,在PC游戲中經常用到OPENAL。OPENAL有許多的潛能,有許多的聲音庫工作在最地層的hardware上。但OPENAL的設計者經過無數的測試使她成為一個高級的API。
OpenAL特色
OpenAL 主要的功能是在來源物體、音效緩沖和收聽者中編碼。來源物體包含一個指向緩沖區的指標、聲音的速度、位置和方向,以及聲音強度。收聽者物體包含收聽者的速度、位置和方向,以及全部聲音的整體增益。緩沖里包含 8 或 16 位元、單聲道或立體聲 PCM 格式的音效資料,表現引擎進行所有必要的計算,如距離衰減、都普勒效應等。
不同于 OpenGL 規格,OpenAL 規格包含兩個API分支;以實際 OpenAL 函式組成的核心,和 ALC API,ALC 用于管理表現內容、資源使用情況,并將跨平臺風格封在其中。還有“ALUT”程式庫,提供高階“易用”的函式,其定位相當于 OpenGL 的 GLUT。
OpenAL功能
1.在來源物體、音效緩沖和收聽者中編碼。
2.來源物體包含一個指向緩沖區的指標、聲音的速度、位置和方向,以及聲音強度。
3.收聽者物體包含收聽者的速度、位置和方向,以及全部聲音的整體增益。
4.緩沖里包含8或16位元、單聲道或立體聲PCM格式的音效資料,表現引擎進行所有必要的計算,如距離衰減、都普勒效應等。
5.用于Windows的OpenAL安裝程序將安裝OpenAL 1.1庫,從而使核心的OpenAL業務以及諸如EAX和EFX效果擴展的支持。
6.安裝程序支持32位和64位Windows版本。
OpenAL使用方法
OpenAL主要由3個實體構成:聽眾Listener, 聲源Source, 以及緩存Buffer。
聽眾Listener:就是你。Listener的位置是可以移動的。
聲源Source:類似一個話筒。它發出聲音給聽眾聽。和Listener一樣,聲源的位置也是可以移動的。例如oalTouch中實現了聲音遠近的控制(近響遠輕),就是通過Listener和Source兩張圖片之間的距離實現的。
緩存Buffer:存著原始聲音數據,就是你需要播放的聲音。
還有2個重要的對象:設備device和環境context。
設備是播放聲音的硬件。
環境是聲源和聽眾所在的空間。
OpenAL安裝方法:
OpenAL的安裝很簡單,運行程序,點擊“OK”,就完成了。沒有很煩瑣的安裝過程。
變化和錯誤修正
增加了新的統計擴展(ALC_ENUMERATE_ALL_EXT)任何聲卡上使用soundcard/音頻端點
“通用硬件”設備只出現是否可以用在枚舉字符串
安裝alcGetIntegerv的要求active context
安裝alcCaptureOpenDevice,以便它返回一個字符串,如果捕捉設備無法打開