Android 音频 Native API OpenSL ES 简要介绍

本文详细介绍了OpenSLES全称(OpenSoundLibraryforEmbeddedSystems)作为嵌入式音频加速标准在Android开发中的核心作用。重点讨论了OpenSLES架构、在Android中的最低支持版本APILevel9(Android2.3-Gingerbread),以及如何通过高阶API与OpenSLES交互来实现音频URI播放、PCM数据播放和录音功能,同时对比了其与Java API在性能方面的优势。

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

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

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


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




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


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




从图中可以看出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数据


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值