在Android設備上以最少的延遲播放同時音頻的選項是什麼?我是否會從罐裝SDK中獲得一半體面的東西,還是那個問題太多了?該文檔聲稱SoundPool類能夠以相對良好的性能同時播放多個聲音,但在模擬器和物理設備上運行一些測試後,它似乎很弱。是否有一個竅門,或者我必須去一個更低層次的API這種事情?我已經嘗試過使用一個加載了多個樣本的聲音池,並且我嘗試了多個聲音池,每個聲音池管理一個樣本。我正在預加載所有內容,因此當我嘗試播放時,除了調用SoundPool.play()之外,沒有其他代碼正在執行。適用於Android的低延遲音頻API?
回答
我沒有任何Android體驗,但我爲Windows Mobile編寫了類似的東西。這些設備本身當然能夠以低延遲(低於25毫秒)實時混合多種聲音,儘管「多重」我的意思是4或5(而不是30至40)。然而,我只能通過編寫我自己的代碼來完成這個令人滿意的代碼,這個代碼在內部進行了混音,並且只有在播放最終混合輸出時才訪問低級音頻播放API。在.Net精簡版框架中播放聲音的更高級的方法在理論上可以用複音,但實際上它們的工作非常糟糕(大量的小故障,口吃和失真)。
我懷疑Android音頻SDK有同樣的問題,所以你可能必須自己寫。
Android 2.3現在支持對低延遲應用程序進行音頻API(通過OpenSL)的本地訪問。
但是,並非所有的硬件設備都會有低延遲的音頻功能配置文件。因此,應用程序需要低延遲音頻shouuld過濾裝置沒有被指定清單中的下列證明它在Android市場:
<uses-feature android:name="android.hardware.audio.low_latency"/>
我有一個2.2的電話和一個1Ghz的CPU,我看到一堆應用程序做了一半體面的工作。在做了一些研究之後,我確信他們正在從音頻文件中解碼PCM數據並直接寫入AudioTrack,這對於基本的音頻音序器/播放器來說足夠低的延遲 – Rich 2010-12-10 15:03:44
@Rich:我已經嘗試過2.2和一個1GHz的電話和最小的緩衝區大小Audiotrack在8kHz,Mono中給我的是1400。那是175毫秒。對於我想要的功能,這是慢的。 – AudioDroid 2011-06-07 14:59:23
這是一個營銷噱頭 - 讓別人認爲是「跟上蘋果。它應該被稱爲「中等延遲」。 我不認爲有太多的用例可以從50 ms的延遲中受益。這對於合適的音頻來說太慢了,對於其他任何東西都是不必要的。 – 2011-11-30 20:05:49
請參閱我的回答Android: sound API (deterministic, low latency)。
Android設備的延遲取決於API,更多取決於特定設備的硬件和驅動程序。啓用低延遲播放會消耗更多功率並增加音頻故障的可能性,因此許多OEM廠商會故意放大播放緩衝區。
- 1. 適用於Android的低級音頻API
- 2. PhoneGap iOS低延遲音頻
- 3. 延遲在Android的音頻
- 4. Ruby的低延遲音頻播放
- 5. 核心音頻 - 遠程IO基於低延遲節拍器
- 6. 通過NDK在Android上進行低延遲音頻
- 7. 使用ffmpeg延遲音頻
- 8. Web音頻API和直播延遲
- 9. 使用html 5將流式音頻的延遲降至最低
- 10. Android音頻延遲變通方案
- 11. Web音頻API聲音適用於臺式機和Android,但不適用於iPhone
- 12. 音頻輸入延遲
- 13. 延遲播放音頻
- 14. 按鍵上的低延遲聲音
- 15. iOS Objective C像SoundPool一樣的低延遲音頻播放
- 16. 如何實現低延遲的n對n音頻聊天
- 17. Flash可以做低延遲音頻合成嗎?
- 18. 適用於Android的音頻過濾器
- 19. 適用於Android的3D音頻庫
- 20. 使用ffmpeg將低延遲RTSP視頻流傳輸到android
- 21. 適用於Android的Google雲語音API
- 22. 流媒體音頻不適用於Android
- 23. JavaScript音頻播放的延遲
- 24. 使用Android MediaPlayer播放音頻之前添加延遲
- 25. 音頻延遲使其工作
- 26. Web音頻延遲節點指南
- 27. 您如何確定Android上的音頻延遲(AudioTrack)?
- 28. Config WebRTC android爲最低延遲
- 29. jQuery延遲不適用於mouseout
- 30. Couchbase上的低延遲Bigdata
我願意嘗試您在這裏爲低延遲音頻記錄/播放提出的建議。但我認爲我需要更多的方向而不是當前的答案。你能描述一下你爲WinPhone做了什麼嗎? – 2011-12-07 22:57:59