My client has provided a .so pre-built shared library. Which supposed to load with libpd, since libpd controller requires m4aPlayer module to load. So I put libm4aPlayer.so inside jniLibs(also tried libs) folder under app > main and then I added this in my build.gradle
defaultConfig {
ndk{
moduleName "m4aPlayer"
}
}
...
sourceSets {
main {
jni {
srcDirs = []
}
jniLibs {
srcDir 'libs'
}
}
}
And then in my AudioService class (where I initPd() and loadPatch()) I am trying to call native prebuilt library that client provided by doing this
patchFile = new File(pdFile[0].mFile.getParent(), "pd/_main.pd");
//System.loadLibrary("pd");
System.loadLibrary("m4aPlayer");
PdBase.openPatch(patchFile);
PdBase.sendFloat("fadeTime", 12f);
Everytime I try to open the patch file(_main.pd) I get error from PD controller saying "m4aPlayer couldn't create". But I am trying to load the library still pd throws this error. It does play other audio fine(where libpd doesnt require m4aPlayer glue.)
Stack trace
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print: m4aPlayer
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print: error: ... couldn't create
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.840 6589-6589/com.test.test I/PdUiDispatcher: print: m4aPlayer
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: error: ... couldn't create
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: m4aPlayer
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: error: ... couldn't create
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: fadeTime: 12
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: fadeDelay: 3
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: curve: 30
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: musicVol: 1.5
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: voiceVol: 1.5
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: voiceGender: 1
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: isRandom: 1
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: suggestionsVO: 1
05-30 21:48:05.841 6589-6589/com.test.test I/PdUiDispatcher: print: availableSoundscapes:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 2
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 3
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 4
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 5
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 6
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 7
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 8
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.842 6589-6589/com.test.test I/PdUiDispatcher: print: 9
05-30 21:48:05.843 6589-6589/com.test.test I/PdUiDispatcher: print:
05-30 21:48:05.843 6589-6589/com.test.test I/PdUiDispatcher: print: module: 2
05-30 21:48:05.843 6589-6589/com.test.test I/PdUiDispatcher: print: INTO-Q: 0
05-30 21:48:05.843 6589-6589/com.test.test I/PdUiDispatcher: print: soundscape: 5
05-30 21:48:05.843 6589-6589/com.test.test I/PdUiDispatcher: print: toApp-isThisFileOK: p5intro0
I also tried to check inside the app to make sure library is being copied or not. So I went to
data/data/package_name/lib