openSL ES 与 Oboe AAudio用谁好

 

OpenSL ES™标准与Android Java框架中的MediaPlayer和MediaRecorderAPI提供类似的音频功能。OpenSL ES提供C语言接口和C++绑定,让您可以从使用任意一种语言编写的代码中调用API。

AAudio是在Android O版本中引入的全新 Android C API。此API专为需要低延迟的高性能音频应用而设计。

Oboe 是一个 C++ 封装容器,提供与 AAudio非常相似的API。该封装容器在AAudio可用时对其进行调用,并在AAudio不可用时回退到OpenSL ES。

 

通过对比,应该是选用Oboe最好,因为总是可用的,而且实时性更好。

 

oboe

 

https://github.com/google/oboe

编译很简单,build_all_android可以快速编译出4个版本的库

build_all_android.sh

-arm64-v8a

-armeabi-v7a

-x86

-x86_64

OPMediaPlayer

OPMediaPlayer对Oboe有一个非常简单的封装,可以直接拿过来用。

https://github.com/Bentis/OPMediaPlayer

  • PlayAudioEngine
  • OPMediaPlayer

 

AAudio

 

AAudio Android demo: https://github.com/googlesamples/android-audio-high-performance/tree/master/aaudio

其中EchoAudioEngine实现了AAudio的play,record功能,用起来也是很方便,可以搜索这两个函数:

  • openPlaybackStream
  • openRecordingStream

 

 

OpenSL ES

 

使用入门文档: https://developer.android.google.cn/ndk/guides/audio/opensl/getting-started?hl=zh-cn

OpenSL ES Android demo: https://github.com/googlesamples/android-ndk/tree/master/audio-echo

audio-echo/app/src/main/cpp目录下有audio player,audio recorder的完整实现

  • AudioPlayer
  • AudioRecorder

 

 

参考

NDK Android OpenSL ES音频采集与播放

-https://www.jianshu.com/p/77b7ec203566

 

Android 耳返实践 OpenSL ES AAudio Oboe

-https://blog.csdn.net/king1425/article/details/87986818

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值