音頻api是什麼意思

品牌型號:iPhone 13 pro
系統:IOS15.5

音頻api是什麼意思

音頻api是特殊的應用程序編程接口。在計算機系統中,如果需要輸出音頻,就要用特定的方法去驅動Codec、DAC等音頻芯片。在調動音頻芯片的過程中,需要用到一些特殊的應用程序編程接口,也就是音頻API。

使用音頻API,音頻軟件如播放器等就可以直接針對API設計輸出程序,而不必針對不同的芯片使用不同的指令。常見的音頻API有MME、DS、WDM、KS、WASAPI、ASIO等。

以MME為例,MME是最常見的Windows音頻API,全稱為MutiMediaExtensions,即多媒體擴展技術。它歷史悠久,兼容性好,市面上基本所有設備都能良好支持。它屬於高級的API,並不直接和硬件交流,需要通過層層接口才能訪問音頻硬件,這也為它帶來了高延遲。雖説這種延遲在回放音頻的時候並不會造成音質的劣化,但對音頻的處理和錄製卻有着較大的負面影響

MME使用waveIn/waveOut系列API來完成對音頻的處理。程序啟動後用waveIn系列函數打開聲卡輸入功能,同時將緩衝區設定到足夠小的值,然後開始將音頻數據錄製到設定的緩衝區,當緩衝區滿後再將緩衝區(WAVHDR)直接加入到waveOu系列函數的輸出隊列中即可。此方法實現較簡單,缺點是MME為高級API,因此在整個過程中需要走過很多系統處理階段,導致延遲較大。若緩衝區太小會導致聲音斷斷續續。一般最小延遲可到120毫秒左右。