概述:
OpenSL ES 是一款跨平台、硬件加速的音频API,适用于嵌入式系统,他为嵌入式多媒体设备上的本机应用程序开发人员提供标准化,高性能、低延时的方法来访问音频功能,实现硬件和软件音频功能的跨平台部署,减少实施工作量。简单来说OpenSL ES是一个嵌入式跨平台免费的音频处理库.
流程:
OpenSL ES的开发流程主要有以下几步:
1、创建接口对象
2、设置混音器
3、创建播放器(录音器)
4、设置缓冲队列和回调函数
5、设置播放状态
6、启动回调函数
其中,4、6是播放pcm等数据格式需要用到的
重要的接口类:SLObjectltf,通过接口类可以创建各种我们需要的类接口
创建引擎接口对象:SLObjectItf engineObject
创建混音器接口对象:SLObjectItf outputMixObject
创建播放器接口对象:SLObjectItf playerObject
创建引擎并实现它:
OpenSL ES中开始的第一步都是声明SLObjectItf接口类型的引擎接口对象 engineObject,然后用方法slCreateEngine创建一个引擎接口对象;创建好引擎接口对象后,需要用SLObjectItf的Realize方法来实现engineObject;最后用SLObjectItf的GetInterface方法来初始化SLEngnineItf对象实例