2

当我在Pixel 2 (Oreo 8.0)上构建我的应用程序时,我得到 PerformanceMode::LowLatency:

2019-06-30 15:04:15.560 8506-8506/? D/AUDIO-APP:HearSightEngine - Stream PlayStream 是低延迟

2019-06-30 15:04:15.572 8506-8506/? D/AUDIO-APP:HearSightEngine - 流录制是低延迟

当我在三星 S7 (Nougat 7.0)应用程序上构建我的应用程序时,我不明白:

2019-06-30 14:49:30.874 20025-20025/? W/AUDIO-APP:HearSightEngine - Stream PlayStream 不是低延迟。检查您请求的格式、采样率和通道数

2019-06-30 14:49:30.896 20025-20025/? W/AUDIO-APP:HearSightEngine - 流录制不是低延迟。检查您请求的格式、采样率和通道数

两个显着的区别是

  1. 第一种情况使用 AAudio,第二种情况使用 OpenSL ES。
  2. 第一种情况使用Pixel 2,第二种情况使用三星S7。

OpenSL ES 是否支持 PerformanceMode::LowLatency?还是三星S7不支持?或者是其他东西?我阅读了常见问题解答 [1],它提到了 API < 26 的 AudioAttributes.FLAG_LOW_LATENCY,这样的事情对我有帮助吗?

[1] https://github.com/google/oboe/blob/master/docs/FAQ.md

4

1 回答 1

1

仅从 Nougat 7.1 开始。在以前版本的 Android 上查询性能模式将返回PerformanceMode::None. 这是代码

在 Android 7.0 及更低版本上,没有编程方式可以知道您是否有低延迟流。adb shell dumpsys media.audio_flinger您可以使用并查找F应用程序流旁边的(用于 FAST 轨道)手动验证它。

按照此处的指南,您可以最大限度地提高接收低延迟流的机会。

于 2019-07-01T11:36:01.223 回答