文章目录

  • 一、Oboe 简介
  • 二、Oboe 特点
  • 三、Oboe 编译工具
  • 四、Oboe 文档
  • 五、Oboe 测试

一、Oboe 简介


Oboe 简介 :

① 函数库 : Oboe 是 C++ 函数库 , 用于在 Android 平台中中构建高性能音频 ;

② 主要功能 : 让开发者使用一套 API , 就可以 跨 API 使用高性能音频 ;

③ 原理 : Android 的高性能音频框架有两个 , OpenSL ES 和 AAudio ; 但是 AAudio 只有在 Android 8.0 Oreo( API Level 26 ) 以上的 系统才可以使用 , 8.0 以下的系统只能使用 OpenSL ES ;

二、Oboe 特点


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 : 编译 Oboe 函数库 , 需要使用 支持 C++14 的编译器 , 和 Android 头文件 ;

② 交叉编译工具 : 最简单的方法就是使用 NDK 17 及以上的版本的 NDK 工具 , 进行交叉编译 ;

③ Android Studio 中下载 : 在 Android Studio 中可以使用 SDK Manager 下载 ;

④ 直接下载 : NDK 下载

四、Oboe 文档


Oboe 相关资料 :

GitHub 主页 : GitHub/Oboe

① 简单使用 : Getting Started

② Oboe 全指南 : Full Guide To Oboe

③ Oboe API 参考 : API reference

④ Android 音频框架发展 : Android audio history

五、Oboe 测试


Oboe 测试 :

① Oboe 测试应用 : OboeTester 可用于测试 Oboe 各种特征 , OpenSL ES , AAudio 等 ; 还可以测量 设备 音频延迟 和 故障 ;

② 测试方式 : 既可以作为一个交互式应用运行 ( 交互式用法 ) , 又可以进行自动化测试 ( 自动化测试用法 ) ;

③ Oboe 测试应用编译 : 参考文档 , 就是个 Android 应用 , 导入到 Android Studio 中运行即可 ;

【Android 高性能音频】Oboe 函数库简介 ( Oboe 简介 | Oboe 特点 | Oboe 编译工具 | Oboe 相关文档 | Oboe 测试工具 )相关推荐

  1. 【Android 高性能音频】hello-oboe 示例解析 ( Oboe 源代码依赖 | CMakeList.txt 构建脚本分析 | Oboe 源代码构建脚本分析 )

    文章目录 一.Oboe 源码路径 二.阅读 CMakeList.txt 查看依赖 三.hello-oboe 中 NDK 的 CMakeList.txt 构建脚本 四.Oboe 源码 的 CMakeLi ...

  2. 【Android 高性能音频】Oboe 开发流程 ( Oboe 音频帧简介 | AudioStreamCallback 中的数据帧说明 )

    文章目录 一.音频帧概念 二.AudioStreamCallback 中的音频数据帧说明 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Started ② ...

  3. 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 )

    文章目录 一.导入 Oboe 库 二.使用预构建的二进制库和头文件 三.编译 Oboe 源代码 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Starte ...

  4. 【Android 高性能音频】OboeTest 音频性能测试应用 ( 应用简介 | 测试内容 | 输出测试 | Oboe 缓冲区 与 工作负载修改 | 测试案例 )

    文章目录 一.Oboe 测试应用 二.Oboe 测试内容 三.Oboe 输出测试 四.Oboe 缓冲区 与 工作负载修改 五.Oboe 输出测试 ( Pixel 2 | Android 10 ) 一. ...

  5. 【Android 高性能音频】Oboe 开发流程 ( 包含头 Oboe 头文件 | 创建音频流 | 设置音频流 | 音频流回调类 AudioStreamCallback )

    文章目录 一.包含头 Oboe 头文件 二.音频流构建器 AudioStreamBuilder 三.音频流回调 AudioStreamCallback Oboe GitHub 主页 : GitHub/ ...

  6. 【Android 高性能音频】Oboe 播放器开发 ( 为 OpenSL ES 配置参数以获得最佳延迟 | Oboe 音频流 | Oboe 音频设备 )

    文章目录 一.获得最佳延迟 二.Oboe 音频流 三.Oboe 音频设备 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Started ② Oboe 全指 ...

  7. 【Android 高性能音频】Oboe 开发流程 ( Oboe 完整代码示例 )

    文章目录 一.GitHub 地址 二.Oboe C++ 代码 三.日志封装 四.Activity 代码 五.AndroidManifest.xml 配置文件 六.CMakeLists.txt 构建脚本 ...

  8. 【Android 高性能音频】Oboe 开发流程 ( 检查 Oboe 音频流属性 | 开始播放 | 停止播放 | 关闭 Oboe 音频流 | 重新配置 Oboe 音频流属性 )

    文章目录 一.检查 Oboe 音频流属性 二.开始播放 三.停止播放 四.关闭音频流 五.重新配置 Oboe 音频流属性 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : G ...

  9. 【Android 高性能音频】Oboe 开发流程 ( 创建并设置 AudioStreamCallback 对象 | 打开 Oboe 音频流 | 日志封装 logging_macros.h )

    文章目录 一.创建并设置 AudioStreamCallback 对象 二.打开 Oboe 音频流 三.日志封装 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getti ...

最新文章

  1. 使用Keras进行深度学习:(二)CNN讲解及实践
  2. python ddt mysql_Python数据驱动DDT的应用
  3. BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
  4. AI最后--热门游戏引擎(CN地区)
  5. 分页类与前台和后台的调用方法
  6. mysql内置加密函数_MySQL数据库内置加密函数总结
  7. Microsoft.mshtml到底是什么?
  8. 我的世界装mod要下java_【新人必看教程】我的世界HMCL下载安装mod模组
  9. CCF推荐国际学术会议与学术期刊
  10. 哈工大数字逻辑与数字系统设计大作业(数字密码锁)
  11. 一些奇怪的东西以及寄几需要注意的地方
  12. 概率论与数理统计--S2数理统计概念
  13. 电商时代的逆向思维法则
  14. 004---css样式表(内部样式表、行内样式表、外部样式表)
  15. 查看google浏览器里的证书
  16. 大数据时代对存储发展需要哪些要求
  17. mysql 修改 root 密码
  18. 丢弃 HttpClient 了,这款轻量级框架更强!
  19. window的onload事件的用法
  20. linux 分卷压缩命令

热门文章

  1. 一个比较明显的OOM的排查过程
  2. 精益与敏捷开发(随笔)
  3. NetBeans 时事通讯(刊号 # 20 - Aug 11, 2008)
  4. JS闭包的理解及常见应用场景
  5. Python机器学习基础教程-第2章-监督学习之K近邻
  6. 【leetcode 968. 监控二叉树】解题报告
  7. Go学习笔记07-结构体与方法
  8. MongoDB3.6.3 windows安装配置、启动
  9. js Date.parse()兼容性问题
  10. 2017/05/07 java 基础 随笔