Michael Mesfin
Michael Mesfin

Reputation: 556

gluon attach audio doesn't play any sound on android

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

Answers (0)

Related Questions