在Gluon Mobile中导入android文件时出错

时间:2017-11-26 17:54:52

标签: android javafx gluon gluon-mobile javafxports

我遇到了同样的问题here。我通过将android.jarjfxjdk-8.60.9.jar添加到我的构建路径来解决了这个问题。现在导入已解决。但是,在运行项目时,控制台中会显示以下错误:

: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);
                                  ^

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您正在main包中添加Android类:

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

您应该使用android包:

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

无论如何,如果您要添加Charm Down提供的本机服务,您应首先检查现有服务:Charm Down已经提供了一个视频service,也可用于播放音频。

此外,要实现本机服务,您应该尝试在Charm Down中遵循这些服务的设计,包括使用相同的包名称,如com.gluonhq.charm.down.plugins

可以在Go Native示例中找到本机服务的一个很好的示例。