目录
- Android 万能音频播放器 一 C++多线程解码音频数据
- Android 万能音频播放器 二 C++队列存放AvPacket
-
前言
简单来说OpenSL ES是一个嵌入式、跨平台、免费的、音频 处理库,本文旨在介绍OpenSL的使用方法和参数设置,绝大部分内容参考Android官方NDKdemo,地址为android NDK demo,想学NDK开发的伙伴可以去参考一下,受益良多。
使用流程
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