1

I had the same problem here. I solved it by adding the android.jar and the jfxjdk-8.60.9.jar to my build path. Now the imports are resolved. However when running the project The following errors are shown in the console:

:compileJavaC:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:3: error: package android.content.res does not exist
import android.content.res.AssetFileDescriptor;
                          ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:4: error: package android.media does not exist
import android.media.AudioManager;
                    ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:5: error: package android.media does not exist
import android.media.MediaPlayer;
                    ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:7: error: package javafxports.android does not exist
import javafxports.android.FXActivity;
                          ^
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:11: error: cannot find symbol
    private MediaPlayer mp;
            ^
  symbol:   class MediaPlayer
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:23: error: cannot find symbol
            mp = new MediaPlayer();
                     ^
  symbol:   class MediaPlayer
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:24: error: cannot find symbol
            AssetFileDescriptor afd = FXActivity.getInstance().getAssets().openFd("Cannon-Sound.mp3");
            ^
  symbol:   class AssetFileDescriptor
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:24: error: cannot find symbol
            AssetFileDescriptor afd = FXActivity.getInstance().getAssets().openFd("Cannon-Sound.mp3");
                                      ^
  symbol:   variable FXActivity
  location: class AndroidNativeAudio
C:\Users\malek\Desktop\gluon\BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java:27: error: cannot find symbol
            mp.setAudioStreamType(AudioManager.STREAM_RING);
                                  ^

Any idea how to solve this?

1 Answers1

3

You are adding the Android classes in the main package:

BangBangGame\src\main\java\com\gluonapplication\AndroidNativeAudio.java

You should use the android package instead:

BangBangGame\src\android\java\com\gluonapplication\AndroidNativeAudio.java

Anyway, if you are adding a native service like those provided by Charm Down, you should first check the existing ones: Charm Down already provides a video service the can be used to play audio as well.

Also, to implement a native service you should try to follow the design of those services in Charm Down, what includes using same package names like com.gluonhq.charm.down.plugins.

A good example of a native service can be found in the Go Native sample.

José Pereda
  • 44,311
  • 7
  • 104
  • 132