Oboe 简介 :
① 函数库 : Oboe 是 C++ 函数库 , 用于在 Android 平台中中构建高性能音频 ;
② 主要功能 : 让开发者使用一套 API , 就可以 跨 API 使用高性能音频 ;
③ 原理 : Android 的高性能音频框架有两个 , OpenSL ES 和 AAudio ; 但是 AAudio 只有在 Android 8.0 Oreo( API Level 26 ) 以上的 系统才可以使用 , 8.0 以下的系统只能使用 OpenSL ES ;
Oboe 特点 :
① 版本兼容 : 在 Android 4.1 Jelly Bean( API Level 16 ) 及以上版本的 Android 系统中运行 , 兼容 99 % 99\% 99% 的 Android 设备 ;
② OpenSL ES : Android 4.1 Jelly Bean( API Level 16 ) 以上系统 , 使用 OpenSL ES 播放音频 ;
③ AAudio : Android 8.0 Oreo( API Level 26 ) 以上系统 , 使用 AAudio 播放音频 ;
④ 音频延迟自适应调整
⑤ 代码整洁 : 使用 C++ 语言 , 可以编写 干净 , 优雅的 播放器代码 ;
⑥ 解决了一些已知的音频相关问题
Oboe 编译工具 :
① 编译 Oboe : 编译 Oboe 函数库 , 需要使用 支持 C++14 的编译器 , 和 Android 头文件 ;
② 交叉编译工具 : 最简单的方法就是使用 NDK 17 及以上的版本的 NDK 工具 , 进行交叉编译 ;
③ Android Studio 中下载 : 在 Android Studio 中可以使用 SDK Manager 下载 ;
④ 直接下载 : NDK 下载
Oboe 相关资料 :
GitHub 主页 : GitHub/Oboe
① 简单使用 : Getting Started
② Oboe 全指南 : Full Guide To Oboe
③ Oboe API 参考 : API reference
④ Android 音频框架发展 : Android audio history
Oboe 测试 :
① Oboe 测试应用 : OboeTester 可用于测试 Oboe 各种特征 , OpenSL ES , AAudio 等 ; 还可以测量 设备 音频延迟 和 故障 ;
② 测试方式 : 既可以作为一个交互式应用运行 ( 交互式用法 ) , 又可以进行自动化测试 ( 自动化测试用法 ) ;
③ Oboe 测试应用编译 : 参考文档 , 就是个 Android 应用 , 导入到 Android Studio 中运行即可 ;