[java] 適用於Android的低延遲音頻API?



Answers

Android 2.3現在支持對低延遲應用程序的本地訪問音頻API(通過OpenSL)。

但是,並非所有硬件設備都具有低延遲音頻功能配置文件。 因此,通過在清單中指定以下內容,需要低延遲音頻shouuld過濾器設備的應用程序在Android市場中不支持它:

<uses-feature android:name="android.hardware.audio.low_latency"/>
Question

在Android設備上以最少的延遲播放同步音頻有哪些選擇? 我是否會從罐裝SDK中獲得一些不錯的東西,還是要求太多? 該文檔聲稱SoundPool類能夠以相對較好的性能同時播放多個聲音,但在模擬器和物理設備上運行某些測試後,它似乎相當弱。 可能有一個技巧,或者我必須為這種事情去更低級別的api? 我嘗試使用單個聲音池加載了多個樣本,我嘗試了多個聲音池,每個聲音池管理一個樣本。 我正在預加載所有內容,因此當我嘗試播放時,除了調用SoundPool.play()之外,我沒有執行任何其他代碼。




請參閱我對Android的答案:聲音API(確定性,低延遲)

Android設備的延遲較少取決於API,而更多取決於該特定設備的硬件和驅動程序。 啟用低延遲播放會消耗更多功率並增加音頻故障的可能性,因此許多OEM會故意擴大其播放緩衝區。




Related