Does OpenSL ES support PerformanceMode::LowLatency?



当我在 Pixel 2(Oreo 8.0(上构建我的应用时

2019-06-30 15:04:15.560 8506-8506/?D/Audio -App:HearSightEngine-流playstream是低延迟

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

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

2019-06-30 14:49:30.874 20025-20025/?w/audio -app:HearSightEngine-流playstream不是低潜伏期。检查您请求的格式,样本率和通道计数

2019-06-30 14:49:30.896 20025-20025/?w/audio -app:HearSightEngine-流记录不是低潜伏期。检查您请求的格式,样本率和通道计数

这两个显着差异是

  1. Aaudio使用第一种情况,第二种情况使用。
  2. Pixel 2在第一种情况下使用,三星S7在第二。

OpenSL ES支持PerformAnceMode :: LowWaltency?还是三星S7不支持它?或者是其他东西?我阅读了常见问题[1],它提到了AudioAttributes.flag_low_latency for api<26,类似的事情可以帮助我吗?

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

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

没有程序化方法可以知道您在Android 7.0及以下是否有低延迟流。您可以使用adb shell dumpsys media.audio_flinger手动验证它,并在应用程序流旁边寻找F(快速轨道(。

您可以在此处遵循指南。

最新更新