OpenSL ES 全称是:Open Sound Library for Embedded Systems,是一套无授权费、跨平台、针对嵌入式系统精心优化的硬件音频加速API。它为嵌入式移动多媒体设备上的本地应用程序开发者提供标准化, 高性能, 低响应时间的音频功能实现方法,并实现软硬件音频性能的直接跨平台部署,降低android执行难度,促进高级音频市场的发展。
在android系统中是自带了opensl es的so库的,所以我们只需要在CMakeLists中链接以下就可以了,在引入头文件
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
声明native方法
//设置播放状态
public native void setPlayingAssetAudioPlayer(boolean isPlaying);
//释放资源
public native void shutdown();
//创建引擎
public native void createEngine();
//播放 assets对象,文件名
public native boolean player(AssetManager assetManager, String filename);
extern "C"
JNIEXPORT void JNICALL
Java_com_xiukun_lxkaudio_MainActivity_createEngine(JNIEnv *env, jobject instance) {
// TODO
SLresult result;
//初始化引擎
slCreateEngine(&engineObject,0,NULL,