简单来说OpenSL ES是一个嵌入式、跨平台、免费的、音频 处理库。
Android OPenSL ES库位置:
使用 OPenSL ES 流程:
1、创建接口对象
2、设置混音器
3、创建播放器(录音器)
4、设置缓冲队列和回调函数
5、设置播放状态
6、启动回调函数
重要接口解释
1、类接口:
SLObjectItf 通过SLObjectItf接口类我们可以创建所需要的各种类型的类接口,比如:
创建引擎接口对象:SLObjectItf engineObject
创建混音器接口对象:SLObjectItf outputMixObject
创建播放器接口对象:SLObjectItf playerObject
2、具体的接口类
引擎:SLEngineItf
播放器:SLPlayItf
声音控制器:SLVolumeItf等等
创建三部曲
如:创建引擎接口对象( createrealizeget )
SLObjectItf engineObject = NULL;//用SLObjectItf声明引擎接口对象
SLEngineItf engineEngine = NULL;//声明具体的引擎对象实例
void createEngine() {
SLresult result;//返回结果
//第一步:创建引擎
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
//第二步:实现(Realize)engineObject接口对象
result = (*engineObject)->Realize(engineObject, SL_BOOLEAN_FALSE); //第三部:通过engineObject的GetInterface方法初始化engineEngine
result = (*engineObject)->GetInterface(engineObject, SL_IID_ENGINE, &engineEngine);
}
销毁
(*engineObject)->Destroy(engineObject);