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

目前我正在使用AudioTrack传递来自本地层的audio数据进行播放。

看来我可以在本地层使用OpenSL ES,而不是Java中的AudioTrack。 与AudioTrack相比,OpenSL ES提供的优势是什么?

OpenSL ES:

优点:

  1. Android中的低级audioAPI
  2. 独立于Android手机的设备
  3. 适合游戏

缺点:

  1. 仅支持2.3以上的操作系统

AudioTrack:

优点:

  1. 高级API

缺点:

  1. 工作在Java层和本地代码必须调用javalayer来播放audio。