OpenAL(Open Audio Library)是自由軟件界的跨平臺音效API。它設(shè)計(jì)給多通道三維位置音效的特效表現(xiàn)。其 API 風(fēng)格模仿自 OpenGL。很多游戲想要運(yùn)行都需要它。
OpenAL 最初是由 Loki Software 所開發(fā)。是為了將 Windows 商業(yè)游戲移植到 Linux 上。Loki 倒閉以后,這個專案由自由軟件/開放源始碼社群繼續(xù)維護(hù)。不過現(xiàn)在最大的主導(dǎo)者(并大量發(fā)展)是創(chuàng)新科技,并得到來自 Apple 和自由軟件/開放源代碼愛好者的持續(xù)支援。
OpenAL有什么用?
OpenAL 主要的功能是在來源物體、音效緩沖和收聽者中編碼。來源物體包含一個指向緩沖區(qū)的指標(biāo)、聲音的速度、位置和方向,以及聲音強(qiáng)度。收聽者物體包含收聽者的速度、位置和方向,以及全部聲音的整體增益。緩沖里包含 8 或 16 位元、單聲道或立體聲 PCM 格式的音效資料,表現(xiàn)引擎進(jìn)行所有必要的計(jì)算,如距離衰減、都普勒效應(yīng)等。
不同于 OpenGL 規(guī)格,OpenAL 規(guī)格包含兩個API分支;以實(shí)際 OpenAL 函式組成的核心,和 ALC API,ALC 用于管理表現(xiàn)內(nèi)容、資源使用情況,并將跨平臺風(fēng)格封在其中。還有“ALUT”程式庫,提供高階“易用”的函式,其定位相當(dāng)于 OpenGL 的 GLUT。