Trying to implement this example
我试图实现您在本文中提供的相同解决方案,但当我尝试运行我的应用程序时,我最终得到了一个 NullPointerException 我实现了服务。玩();在我的项目中,我有以下设置:
在源包[Java] 下 - > com.myprojfx8 - > NativeAudioService.java接口
package com.myprojfx8;
public interface NativeAudioService
{ void play();
void pause();
void resume();
void stop();
}
以及包含service.play()代码行的主java文件。
try
{ service = (NativeAudioService)Class.forName("com.myprojfx8.NativeAndroidAudio").newInstance();
}
catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex)
{ System.out.println("Error " + ex);
}
service.play(); // this is line 1053.
在Android / Java包下 - > com.myprojfx8 - > NativeAndroidAudio.java
public NativeAndroidAudio(){}
@Override public void play()
{ currentPosition = 0;
try
{ if (mp != null)
{ stop();
}
mp = new MediaPlayer();
AssetFileDescriptor afd = FXActivity.getInstance().getAssets().openFd("ThemeMusic.mp3");
mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
mp.setAudioStreamType(AudioManager.STREAM_RING);
mp.setOnCompletionListener(mp -> stop());
mp.prepare();
mp.start();
}
catch (IOException e)
{ System.out.println("Error playing audio resource " + e);
}
}
在MyProjFX8下 - > src - > android - > assets文件夹我有ThemeMusic.mp3文件。
顺便说一句,我使用Netbeans 8.1作为我的IDE。
知道我做错了什么我相信它与try语句中的服务没有正确链接有关但我不知道我没有实现什么?
错误消息是:
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at com.myprojfx8.MyProjFX8.startGameAction(MyProjFX8.java:1053)