为什么媒体播放器不止一次启动并且媒体播放器不会在创建时开始的按钮单击中停止?

why is media player starts more than once and media player won't stop in button click which started at on create?

我需要为我的 android 应用程序添加背景音乐。我已将 MediaPlayer 对象声明为 class 变量并在 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);
}