什么原因在Android中使用OpenSL ES而不是AudioTrack?

目前我正在使用AudioTrack传递来自本机层的音频数据来播放。

我似乎可以在本机层使用OpenSL ES而不是Java中的AudioTrack。 与AudioTrack相比,OpenSL ES提供了哪些优势?

OpenSL ES:

优点:

  1. Android中的低级音频API
  2. Android手机独立设备
  3. 适合游戏

缺点:

  1. 仅支持2.3+操作系统

AudioTrack:

优点:

  1. 高级API

缺点:

  1. 适用于Java层和Native代码必须调用javalayer来播放音频。