Android 为什么media player会多次启动,而media player不会在创建时启动的按钮单击中停止?

Android 为什么media player会多次启动,而media player不会在创建时启动的按钮单击中停止?,android,android-mediaplayer,Android,Android Mediaplayer,我需要将背景音乐添加到我的android应用程序中。我已将MediaPlayer对象声明为类变量,并在oncreate中创建它。我已经在oncreate中启动了MediPlayer对象。我用按钮点击的方法停止了媒体播放器,开始了一个新的意图。我的要求是在开始布局时播放音乐,并在开始下一个布局时停止,但现在它会多次启动,并且不会停止。这是我的密码 MediaPlayer startMusic; @Override protected void onCreate(Bundle s

我需要将背景音乐添加到我的android应用程序中。我已将MediaPlayer对象声明为类变量,并在oncreate中创建它。我已经在oncreate中启动了MediPlayer对象。我用按钮点击的方法停止了媒体播放器,开始了一个新的意图。我的要求是在开始布局时播放音乐,并在开始下一个布局时停止,但现在它会多次启动,并且不会停止。这是我的密码

 MediaPlayer  startMusic;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cover);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        startMusic= MediaPlayer.create(Cover.this, R.raw.startgame);

        if(!(startMusic.isPlaying()))
        {
            startMusic.start();
        }
    }


 public  void  btnStartClick(View v)
    {
        startMusic.pause();
        Intent intent = new Intent(this,ScaleExercise.class);
        startActivity(intent);
    }
有人能尽快告诉我这里出了什么问题吗。 谢谢你试试这个

 static  MediaPlayer  startMusic;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_cover);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    startMusic= MediaPlayer.create(Cover.this, R.raw.startgame);


}


@Override
protected void onStart() {
    // TODO Auto-generated method stub

    if(!(startMusic.isPlaying()))
    {   
        startMusic.setLooping(true);
        startMusic.start();
    }

    super.onStart();

}

 @Override
protected void onStop() {
    // TODO Auto-generated method stub
    startMusic.stop();
    super.onStop();

}
public  void  btnStartClick(View v)
{

    Intent intent = new Intent(this,ScaleExercise.class);
    startActivity(intent);
}

谢谢我如上所述更改了它,现在我可以听到背景音乐只播放了一次,但有一个错误显示在设备屏幕上,不幸的是,应用程序已弯曲,在logcat中显示为E/AndroidRuntime﹕ 致命异常:main android.app.SuperNotCalledException:Activity{com.example.kushi.exercisegame2/com.example.kushi.exercisegame2.Cover}未通过android.app.Activity.performStartActivity.java:5338oh调用super.onStart,我编辑了代码,要连续播放音乐,您只需将播放器的循环方法设置为True Thank you sooooooo muchh.:它现在工作得很好。