写点什么

OpenSL ES

用户头像
Changing Lin
关注
发布于: 10 小时前
OpenSL ES

1.简介

  • NDK 中包括 Khronos Group 开发的 OpenSL ES™ 1.0.1 API 规范的 Android 专用实现。

  • OpenSL ES™ 标准与 Android Java 框架中的 MediaPlayer 和 MediaRecorderAPI 提供类似的音频功能。

  • OpenSL ES API 可以帮助您开发和提升应用的音频性能。

  • 头文件 <SLES/OpenSLES.h> 和 <SLES/OpenSLES_Platform.h> 允许音频输入和输出。

  • 头文件 <SLES/OpenSLES_Android.h> 和 <SLES/OpenSLES_AndroidConfiguration.h> 中提供了其他 Android 专用功能。

2.如何给应用添加 OpenSL ES

#include <SLES/OpenSLES.h>	// 添加核心 OpenSL ES 功能集#include <SLES/OpenSLES_Android.h>	// 添加 OpenSL ES Android 扩展,自动包含如下文件// #include <SLES/OpenSLES_AndroidConfiguration.h>// #include <SLES/OpenSLES_AndroidMetadata.h>
复制代码

3.构建和调试

修改 Android.mk 文件添加 OpenSL ES 库依赖,已满足构建需要

LOCAL_LDLIBS += -lOpenSLES
复制代码

4.为应用打包音频内容的方法

  • 资源:将音频文件置于 res/raw/ 文件夹后,可以通过 Resources 的关联 API 轻松访问这些文件

  • 资产:将音频文件置于 assets/ 文件夹后,可以通过 Android 原生资产管理器 API 直接访问这些文件

  • 网络:使用 URI 数据定位器直接从网络播放音频内容

  • 本地文件系统:对于本地文件,URI 数据定位器支持 file: 架构,前提是这些文件可供应用访问

  • 录制的内容:从麦克风输入录制音频数据,存储此内容,然后回放

  • 编译和链接的内嵌内容

  • 实时合成:可以动态合成 PCM 数据,然后使用支持缓冲区队列数据定位器的音频播放器播放

发布于: 10 小时前阅读数: 4
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
OpenSL ES