我已经为MediaPlayer创建了一个类,以便我可以从多个类访问它,因为我需要在一次活动中启动媒体并将其停止在另一个活动中。 当试图调用mediaPlayer时,我得到一个错误。 我不明白我在哪里出错,因为我没有完全理解错误。 在创建MediaPlayer的类之前,它正在工作,但它不允许我做我想要的。 有人可以告诉我如何解决我的问题或访问MediaPlayer的不同方式。提前致谢。Android MediaPlayer在它自己的类中导致应用程序崩溃
MainActivity类是我从中调用媒体播放器的地方。
public class MainActivity extends AppCompatActivity {
Music gm = new Music();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the Main Activity.
setContentView(R.layout.activity_main);
gm.menuSound(true);
}
}
在MediaPlayer类是被创建并在媒体播放器启动和停止媒体播放器在哪里。
public class Music extends gameActivity{
Context context;
MediaPlayer menu;
MediaPlayer soundtrack;
MediaPlayer death;
MediaPlayer start;
public void menuSound(boolean x) {
if(menu == null) {
menu = MediaPlayer.create(context, R.raw.menumusic);
menu.setVolume(100, 100);
}
if(x)
menu.start();
if(!x)
menu.stop();
}
}
---------碰撞 E/AndroidRuntime的开头:致命异常:主 工艺:com.example.sam.myfirstapp,PID:2395 的java .lang.RuntimeException:无法启动活动ComponentInfo {com.example.sam.myfirstapp/com.example.sam.myfirstapp.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法'android.content.res.Resources android .content.Context.getResources()'的空对象引用 at android.app.ActivityThread.performLaunchActiv ity(ActivityThread.java:2646) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1460) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread .java:6077) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal。java.lang.reflect.Method.invoke(Native Method) 。 os.ZygoteInit.main(ZygoteInit.java:755) 引起:java.lang.NullP ointerException:试图在android上的android.media.MediaPlayer.create(MediaPlayer.java:931) 上的null对象引用 上调用虚拟方法'android.content.resources android.content.Context.getResources()'。 media.MediaPlayer.create(MediaPlayer.java:914) at com.example.sam.myfirstapp.Music.menuSound(Music.java:21) at com.example.sam.myfirstapp.MainActivity.onCreate(MainActivity.java: 18) at android.app.Activity.performCreate(Activity.java:6664) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 在android.app.ActivityThread.-wrap12(ActivityThread.java) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1460) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread。java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os .ZygoteInit.main(ZygoteInit.java:755)
的可能的复制[?什么是空指针异常,以及如何解决呢(http://stackoverflow.com/questions/218384/what -is-A-NullPointerException异常和知识-DO-I-FIX-IT) – pathfinderelite