-2

我读过 Android 4.2 Jelly Bean OS 上的音频延迟已降至 12 毫秒。但是,我还了解到,Nexus 10 上提供了这种改进,但 Nexus 7 上没有。

这两个设备如何使用相同的操作系统,却有不同的音频延迟?这些信息准确吗?

4

1 回答 1

3

的具体实施AudioHardwareInterface是电话供应商的实施决策——在许多情况下,它是基于 的alsa,但并非必须如此。

在此级别之下,有大量使用的 SoC 平台可供选择(Nexus 7 中的 nVidia Tegra3 和 Nexus 10 中的三星 Exynos)。操作系统在此级别以下 绝对不一样。

可能影响延迟的因素包括:

  • 用于音频的 DMA 缓冲区的硬件限制 - 最小大小或要求它是 2 的幂大小。
  • 设备驱动程序强制执行的最小缓冲区大小 - 合理与否。
  • 低延迟意味着音频需要更频繁地服务 - 一直到应用程序堆栈。mlock理想情况下,您需要能够为任何线程生成音频以及程序代码和内存堆栈的能力获得实时调度。如果你不能得到这个(我怀疑你仍然不能在 Android 上),选择延迟的值,以便音频在大多数时间可靠地运行。
于 2013-04-17T17:28:33.260 回答