}
…
externalNativeBuild {
cmake {
path “CMakeLists.txt”
}
}
sourceSets {
main {
jniLibs.srcDirs = [‘src/main/jniLibs’]
}
}
}
dependencies {
…
implementation files(‘libs/fmod.jar’)
}
fmod
使用前调用 org.fmod.FMOD.init(this);
进行FMOD的初始化
/**
- 播放声音
*/
extern “C”
JNIEXPORT void JNICALL
Java_com_youyangbo_fmod_FmodUtils_play(JNIEnv *env, jclass type, jstring path_) {
const char *path = env->GetStringUTFChars(path_, 0);
//创建对象
System *system;
System_Create(&system);
//初始化
void *extradriverdata;
system->init(32, FMOD_INIT_NORMAL, extradriverdata);
//創建一個聲音
Sound *sound;
system->createSound(path, FMOD_DEFAULT, 0, &sound);
//播放声音
Channel *channel = 0;
system->playSound(sound, 0, false, &channel);
system->update();
//是否播放
bool isplaying = true;
//阻塞线程
while (isplaying) {
channel->isPlaying(&isplaying);
usleep(1000*1000);
}
//释放资源
sound->release();
system->close();
system->release();
env->ReleaseStringUTFChars(path_, path);
}
}
到这里我们就可以简单的播放一个声音啦。system->playSound(sound,