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

简介: 【Android 高性能音频】Oboe 函数库简介 ( Oboe 简介 | Oboe 特点 | Oboe 编译工具 | Oboe 相关文档 | Oboe 测试工具 )
+关注继续查看

文章目录

一、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 中运行即可 ;


目录
相关文章
|
4月前
|
存储 BI 定位技术
高德Android高性能高稳定性代码覆盖率技术实践
高德这套全新的方案,简洁而不简单,巧妙地实现了无Hack采集,在保证高稳定性和不侵入源码的前提下,优雅地实现了生产环境代码覆盖率的高性能采集,已经过高德地图多版本验证,是一套成熟、稳定且高效的方案。
高德Android高性能高稳定性代码覆盖率技术实践
|
8月前
|
XML Java 编译器
Android编译器及编译工具之编译工具
Apache Ant 是由 Java 语言开发的工具,由 Apache 软件基金会所提供。Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。Apache Ant 的配置文件写成 XML 容易维护和书写,而且结构很清晰。
282 0
|
8月前
|
Dart Java 编译器
Android编译器及编译工具之编译器
习惯了IDE以及各种现成的编译工具为我们提供便捷的编译方式,我们很少会操心编译工具的编译过程和原理,但是工具越高级,隐藏的细节就越多,这样编译遇到问题时我们难以定位,遇到复杂的项目(尤其跨平台项目难以用ide)时不知如何下手。所以准备写两篇关于编译器和编译工具的文章。本文先来介绍编译工具。
119 0
DHL
|
算法 Java 网络安全
Android 利器,我开发了云同步编译工具
SyncKit 主要将本地的项目同步到远程设备,在远程设备上进行编译,然后将编译的结果拉回本地
DHL
358 0
Android 利器,我开发了云同步编译工具
|
XML 安全 Java
【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
320 0
【Android 安装包优化】资源混淆 ( AAPT2 资源编译工具 | resources.arsc 资源映射表 工作机制 )
|
API Android开发 C++
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 动态注册广播接收者监听耳机插拔事件 | 重新打开 Oboe 音频流 )
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 动态注册广播接收者监听耳机插拔事件 | 重新打开 Oboe 音频流 )
203 0
|
Java API Android开发
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
216 0
【Android 高性能音频】Oboe 音频流打开后 耳机 / 音箱 插拔事件处理 ( 设置 Oboe 音频设备 ID | setDeviceId 函数原型 | AudioStream 音频流 )
|
API Android开发
【Android 高性能音频】Oboe 开发流程 ( Oboe 音频帧简介 | AudioStreamCallback 中的数据帧说明 )
【Android 高性能音频】Oboe 开发流程 ( Oboe 音频帧简介 | AudioStreamCallback 中的数据帧说明 )
361 0
|
Java API Android开发
【Android 高性能音频】Oboe 播放器开发 ( 为 OpenSL ES 配置参数以获得最佳延迟 | Oboe 音频流 | Oboe 音频设备 )
【Android 高性能音频】Oboe 播放器开发 ( 为 OpenSL ES 配置参数以获得最佳延迟 | Oboe 音频流 | Oboe 音频设备 )
436 0
|
Android开发
【Android 高性能音频】Oboe 开发流程 ( Oboe 完整代码示例 )(二)
【Android 高性能音频】Oboe 开发流程 ( Oboe 完整代码示例 )(二)
222 0
【Android 高性能音频】Oboe 开发流程 ( Oboe 完整代码示例 )(二)
相关产品
云迁移中心
推荐文章
更多