Reputation: 556
i'm trying to play a short sound clip when a usr click on a javafx canvas, i have followed the attach audio documentation provided by gluon yet no sound is being played when i install the app on android phone the following is my implementation based on gluon documentation
graphicContext.getCanvas().setOnMousePressed(e -> {
playSound();
});
private void playSound(){
soundTask = new Task<Void>(){
@Override
protected Void call(){
Services.get(AudioService.class)
.ifPresent(audioService -> audioService
.loadSound(getClass().getResource("/com/mycompany/sample/gameClick.wav"))
.ifPresent(audio -> audio.play()));
return null;
}
};
Thread soundThread = new Thread(soundTask);
soundThread.setDaemon(true);
soundThread.start();
}
my attach list look like this in my pom.xml
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>audio</artifactId>
<version>${attach.version}</version>
</dependency>
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>audio</artifactId>
<version>${attach.version}</version>
<classifier>android</classifier>
<scope>runtime</scope>
</dependency>
<plugin>
<groupId>com.gluonhq</groupId>
<artifactId>gluonfx-maven-plugin</artifactId>
<version>${gluonfx.plugin.version}</version>
<configuration>
<target>${gluonfx.target}</target>
<attachList>
<list>display</list>
<list>lifecycle</list>
<list>statusbar</list>
<list>storage</list>
<list>util</list>
<list>audio</list>
</attachList>
<mainClass>${mainClassName}</mainClass>
<resourcesList><item>.*/gameClick.wav$</item></resourcesList>
</configuration>
</plugin>
when i run
mvn -Pandroid gluonfx:install gluonfx:nativerun
i get the following. nativerun logs:
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): Apr 01, 2024 2:03:03 PM com.gluonhq.attach.util.impl.ClipboardUtils <init>
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): INFO: Init Util::ClipboardUtils
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Initializing native Util from OnLoad
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Init Util
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 0, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Util :: Load className com/gluonhq/helloandroid/Util
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] V/GluonAttach(29882): Util <init>
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29946, existed = 1, env at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Dalvik Util init was called
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Enabling debug for all Attach services
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29946, existed = 1, env at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] I/GluonAttach(29882): JNI_OnLoad_audio called
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): [Audio Service] Initializing native Audio from OnLoad
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Util :: Load className com/gluonhq/helloandroid/DalvikAudioService
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29946, existed = 1, env at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] I/GluonAttach(29882): JNI_OnLoad_storage called
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): [Storage Service] Initializing native Storage from OnLoad
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Util :: Load className com/gluonhq/helloandroid/DalvikStorageService
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29946, existed = 1, env at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): Apr 01, 2024 2:03:03 PM com.gluonhq.attach.storage.impl.AndroidStorageService <init>
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): INFO: AndroidStorageService <init>
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Loading sound from file. Absolute path: /data/user/0/com.mycompany.BouncingLetters/.gluon/assets/audio/gameClick.wav
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29946, existed? 1, dalvikEnv at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29946, existed = 1, env at 0xb40000714bca5b90
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29948, existed? 0, dalvikEnv at 0xb40000714bca8890
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29948, existed = 0, env at 0xb40000714bca8890
[Mon Apr 01 14:03:22 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): don't add points, primary = -1
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Loading sound from file. Absolute path: /data/user/0/com.mycompany.BouncingLetters/.gluon/assets/audio/gameClick.wav
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29959, existed? 0, dalvikEnv at 0xb40000714bd732d0
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29959, existed = 0, env at 0xb40000714bd732d0
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29948, existed? 0, dalvikEnv at 0xb40000714bd608b0
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29948, existed = 0, env at 0xb40000714bd608b0
[Mon Apr 01 14:03:28 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): don't add points, primary = -1
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Loading sound from file. Absolute path: /data/user/0/com.mycompany.BouncingLetters/.gluon/assets/audio/gameClick.wav
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29968, existed? 0, dalvikEnv at 0xb40000714bd57430
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29968, existed = 0, env at 0xb40000714bd57430
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29948, existed? 0, dalvikEnv at 0xb40000714bd57430
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29948, existed = 0, env at 0xb40000714bd57430
[Mon Apr 01 14:03:31 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): don't add points, primary = -1
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GluonAttach(29882): Loading sound from file. Absolute path: /data/user/0/com.mycompany.BouncingLetters/.gluon/assets/audio/gameClick.wav
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29974, existed? 0, dalvikEnv at 0xb40000714bd10e10
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29974, existed = 0, env at 0xb40000714bd10e10
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GraalGluon(29882): ATTACH_DALVIK, tid = 29948, existed? 0, dalvikEnv at 0xb40000714bd0d150
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GraalGluon(29882): DETACH_DALVIK, tid = 29948, existed = 0, env at 0xb40000714bd0d150
[Mon Apr 01 14:03:35 EAT 2024][INFO] [SUB] D/GraalCompiled(29882): don't add points, primary = -1
i have updated the attach version to
4.0.21-SNAPSHOT and changed the code to this and it is playing the sound clip
public final Audio audio;
public BouncingLetters() {
this.audio = Services.get(AudioService.class)
.map(audioService
-> {
return audioService
.loadSound(getClass()
.getResource("/com/mycompany/sample/gameClick.wav")).orElseThrow();
}
).orElseThrow(() -> new RuntimeException("sound missing"));
}
graphicContext.getCanvas().setOnMousePressed(e -> {
audio.play();
});
Upvotes: 0
Views: 86