如何使用低延迟的Android音频

Tae*_*hin 7 audio android latency

问题:

您可能已经听说过,Android不提供低延迟音频API.低延迟音频的意思是你应该能够从麦克风获取音频信号并播放声音而中间没有太大的时间间隔(例如,5-7毫秒)

我尝试过旧的java(带有AudioRecord和AudioTrack)和"新的"OpenSL ES.它们非常糟糕,使应用程序无法使用.这个问题在这里有很好的记录.BTW,iOS API可以产生大约5-7毫秒的延迟.

寻找解决方法:

但无论如何,我正试图做低延迟音频.像这个答案描述的东西.

"但是,我只能通过编写我自己的内部混音代码并且只能播放最终的混合输出来访问低级音频播放API才能令人满意地实现这一目标.在.Net中播放声音的高级方式Compact Framework在理论上具有复音功能,但在实践中它们的工作非常糟糕(很多毛刺,口吃和失真)."

这对Android有意义吗?答案令人沮丧.

所以我的问题.Android真的没有办法实现10毫秒的音频延迟吗?

说实话,我不希望很快就会有解决方案,但只是希望一个伟大的思想能够解决这个问题.

Han*_*ner 3

目前还没有办法在不修改操作系统的情况下在 Android 设备上获得低延迟音频,即使如此,很多延迟也可能来自硬件实现,因此软件无法解决这个问题。这是令人遗憾的,因为 Linux 内核能够实现 <5 毫秒的音频延迟,而许多 ARM 硬件能够实现不错的延迟。我在旧的 Palm TX 上运行了一个定制的 Linux 版本,它实际上有相当不错的延迟。