2012-03-12 67 views
0

我是新來的android平臺,我想開發一個應用程序,在後臺運行並讀取麥克風輸入,對其應用轉換,並將生成的音頻輸出到揚聲器。實時輸出轉換後的麥克風輸入?

我想知道在這個過程中用戶是否感覺到任何延遲,或者是否可以近實時地做到這一點,以便用戶可以聽到轉換後的音頻與周圍音頻同步。謝謝!

回答

1

是,用戶會聽到一個嚴重的延遲在使用提供的API的當前未修改的Android設備上嘗試實時音頻時出現滯後或回聲。

總結的是,Android設備配置了相當長的音頻緩衝區,據報道它的長度在100到400毫秒範圍內,具體取決於特定設備和它運行的Android操作系統版本。 (可以在Android設備上使用更短的緩衝區,在這些設備上可以使用自己的自定義音頻驅動程序來構建和安裝操作系統的修改定製版本。)

(人類在25 mS附近或某些地方聽到回聲。 iOS的可以短至5.8毫秒,所以你可能有更好的運氣試圖建立一個不同的設備平臺上的近實時音頻處理。)

+0

Galaxy nexus現在的延遲低至20毫秒。 http://forum.xda-developers.com/showthread.php?t=1674836 – Motes 2012-06-14 21:14:10

+0

存在的處理的延遲,但是,是實時採樣可能?閱讀此:http://stackoverflow.com/questions/19646057/android-realtime-audio-aquisition-loosing-some-samples – Gaucho 2013-10-28 22:17:33

1

在android上的音頻處理並不是很好,事實上,說實話,它很糟糕。 android設備上的這種開箱即用的延遲非常糟糕。然而,你可以修改NDK並嘗試將基於OpenSL ES的東西放在一起,這將具有顯着較低的延遲。

有一個類似的StackOverflow問題:Playing back sound coming from microphone in real-time

其他一些有用的鏈接:

0

在硬幣的另一面,Android的麥克風質量的方法優於IOS質量。我有一個銀河s4和一個華爲非常低端的手機,錄音時都有很好的麥克風質量。