2013-04-04 200 views
4

我嘗試使用AudioRecord接收來自耳機麥克風的音頻,並使用AudioTrack實時播放耳機。我已經實現了所需的代碼,但問題是存在干擾回聲。我沒有使用揚聲器,我正在使用耳機。那麼,什麼造成這種回聲?我使用了在API級別11中引入的設備回聲消除器,並且回聲降低但未消失。我知道audio latency in android設備,但我無法理解延遲是否會在使用耳機時導致回聲。請指導我正確的方向。實時播放接收到的聲音時的聲音回聲

+0

加力:做ü找到任何解決辦法,同樣PBLM發生在我身邊 – Pradeep 2014-04-10 10:45:31

+0

經過不斷我花了很多時間,我只是接受了它的必然性,而沒有辦法處理它。 – 2014-04-14 16:49:13

回答

1

我不認爲有這個問題的通用解決方案。 原因是

1)耳機質量可能是壞的,有可能是麥克風和耳機之間的內部耦合的導線在耳機非常接近

2)在機器人的回波消除器不強制由所有設備實施。先嚐試查詢並設置。 3)回聲消除器的實現可能因設備而異實施

3)等待時間會影響回聲消除器的性能很多,因爲算法必須適應延遲並緩衝那麼多音頻。

4)較低的Android版本都通過谷歌自己也承認可怕的延遲問題。你可能想要移動到更高的Android版本,因爲這些東西已經大大改善。

一般而言,任何具有直接硬件訪問功能的API(如麥克風和相機)都會因設備的不同而有所不同,並且性能無法得到保證。

如果您正在考慮整合,您可能需要查看openSLES以獲得更好的音頻性能,並且更容易與AEC庫集成。

請看 - https://source.android.com/devices/latency_design.html Low-latency audio playback on Android https://www.youtube.com/watch?v=d3kfEeMZ65c

希望這有助於

問候, Shrish