4

我正在尝试使用耳机接收来自耳机麦克风AudioRecord的音频,并使用 .我将音频实时播放到耳机AudioTrack。我已经实现了所需的代码,但问题是存在令人不安的回声。我没有使用扬声器,而是使用耳机。那么,是什么导致了这个回声?我使用了在 API 级别 11 中引入的设备回声消除器,回声减少但没有消失。我知道android 设备中的音频延迟,但我无法理解延迟如何在我使用耳机时导致回声。请指导我正确的方向。

4

1 回答 1

1

我认为这个问题没有通用的解决方案。原因是

1)耳机质量可能不好,由于耳机线非常靠近,麦克风和耳机之间可能存在内部耦合

2) android中的回声消除器并不是所有设备都必须实现的。尝试先查询它和设置。回声消除器的实现也可能因设备而异

3)延迟对回声消除器的性能影响很大,因为算法必须适应延迟并缓冲那么多音频。

4) 低版本的 android 有 google 自己承认的可怕的延迟问题。您可能希望迁移到更高的 android 版本,因为这些东西已经得到了很大的改进。

一般来说,任何具有直接硬件访问权限的 API,如 mic 和 camera ,性能因设备而异,并且无法保证性能。

如果您正在考虑集成,您可能希望查看 openSLES 以获得更好的音频性能并更轻松地集成到 AEC 库。

请查看 - https://source.android.com/devices/latency_design.html Android 上的低延迟音频播放 https://www.youtube.com/watch?v=d3kfEeMZ65c

希望这可以帮助,

问候,什锦

于 2014-10-28T20:18:44.603 回答