Android 音频 Native API OpenSL ES 简要介绍

        OpenSL ES 全称 (Open Sound Library for Embedded Systems),嵌入式音频加速标准。

        OpenSL ES 是无授权费、跨平台、针对嵌入式系统精心优化的硬件音频加速API。它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能,低响应时间的音频功能实现方法,并实现软/硬件音频性能的直接跨平台部署,降低执行难度,促进高级音频市场的发展

        更多的介绍访问官方网站:点击打开链接


        在Android中支持OpenSL ES 最低版本 API Level 9(Android 2.3 - Gingerbread)
        下官方给的一张图 OpenSL ES 的架构图


Android 音频 Native API OpenSL ES 简要介绍_第1张图片


图描述了OpenSL ES的架构,在Android中High Level Audio Libs 是我们音频JAVA层API 输入输出,属于高级API,OpenSL ES相对来说,是比较低级的API,C语言API。
在开发的中,我们一般会使用高级API,除非遇到性能瓶颈,如:语音实时聊天,我们可以直接通过C/C++ 开发音频的应用.


下面有两张图,是描述Android录音然后将数据发送到服务器的流程图

Android 音频 Native API OpenSL ES 简要介绍_第2张图片

Android 音频 Native API OpenSL ES 简要介绍_第3张图片


从图中可以看出Java Api的流程是 C/C++ -> JNI -> APP -> JNI -> C/C++ -> 服务器,而 OpenSL ES 可以直接在C/C++ 层发送音频数据到服务器,从而性能有非常大的提升。

OpenSL ES  可以录音、播放音频URI和PCM数据,后面的文章中我们将编写 OpenSL ES 相关代码:
        1、OpenSL ES 音频URI 播放
        2、OpenSL ES 音频PCM数据 播放
        3、OpenSL ES 录音 PCM数据


你可能感兴趣的:(Android)