Mein Client hat eine .so vorgefertigte gemeinsame Bibliothek zur Verfügung gestellt. Was mit libpd geladen werden soll, da der libpd-Controller das Laden des m4aPlayer-Moduls erfordert. Also habe ich libm4aPlayer.so innen jniLibs (auch versucht Libs) Ordner unter app> Haupt und dann habe ich in meinem build.gradleAndroid Libpd funktioniert nicht - Fehler: ... konnte nicht erstellt werden
defaultConfig {
ndk{
moduleName "m4aPlayer"
}
}
...
sourceSets {
main {
jni {
srcDirs = []
}
jniLibs {
srcDir 'libs'
}
}
}
Und dann in meiner Klasse Audioservice (wo ich initPd() und loadPatch ()) ich versuche, nativer vorkompilierte Bibliothek aufzurufen, indem Sie diese
patchFile = new File(pdFile[0].mFile.getParent(), "pd/_main.pd");
//System.loadLibrary("pd");
System.loadLibrary("m4aPlayer");
PdBase.openPatch(patchFile);
PdBase.sendFloat("fadeTime", 12f);
Jedesmal, wenn ich die Patch-Datei zu öffnen (_main.pd) I Fehler erhalten bereitgestellt Client von PD-Regler sagen „m4aPlayer konnte nicht erstellen ". Aber ich versuche, die Bibliothek zu laden, noch pd wirft diesen Fehler. Es spielt anderen Audio-Fein (wo libpd erfordert nicht m4aPlayer Leim.)
Stapelüberwachung
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
Ich versuchte auch in der App zu überprüfen, um sicher Bibliothek zu machen kopiert wird oder nicht. Also ging ich zu
data/data/package_name/lib
Ich nehme an, die .so-Datei, die Sie verwenden möchten, ist eine reine Daten extern? In diesem Fall - können Sie die Quellen von Ihrem Client abrufen und sie als externe Komponente erstellen, wie in der Readme-Datei von PD-for-Android beschrieben, anstatt eine .so-Datei zu binden? Wird der Patch auf der Desktop-Version von pure-data vanilla richtig geladen? – kirsh300
@ kirsh300 - Ja libm4aPlayer.so ist eine reine Daten externe, die ich in meiner App> Haupt> jni Verzeichnis habe. Einmal habe ich versucht, mit dem Befehl ndk-build zu bauen. Ich war auch in der Lage, .so-Datei zu erzeugen (obwohl der Client bereits vorgefertigte .so-Datei zur Verfügung gestellt hat) und versucht, diese .so-Datei zu laden, aber das ist auch fehlgeschlagen. Jedes Mal, wenn ich versuche, _main.pd aufzurufen, sucht es nach dem m4aPlayer-Modul, das zur Laufzeit geladen werden soll. Aus diesem Grund habe ich System.loadLibrary ("m4aPlayer") ausgeführt, um es zu laden. – Alex
Können Sie einen Ausschnitt des Patches bereitstellen, für den m4aPlayer erforderlich ist? –