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

时间:2015-06-13 03:08:48

标签: android android-mediaplayer

我需要在我的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);
    }

有人可以告诉我这里有什么问题(尽快)。 三江源

1 个答案:

答案 0 :(得分:0)

试试这个

 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);
}