2015-06-13 31 views
0

我需要添加背景音樂到我的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); 
    } 

有人可以告訴我什麼錯誤在這裏(儘快)。 三江源

回答

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

感謝。我改變它如上,現在我可以聽到背景音樂只播放一次,但有這個錯誤顯示在設備的屏幕上,因爲「不幸的應用已經彎腰」,並在logcat作爲 E/AndroidRuntime:致命的例外:主要 機器人.app.SuperNotCalledException:Activity {com.example.kushi.exercisegame2/com.example.kushi.exercisegame2.Cover}沒有通過調用super.onStart() at android.app.Activity.performStart(Activity.java:5338 ) – user3406362

+0

哦,忘記調用super.onstart(),我編輯了代碼,並連續播放音樂,您只需要將播放器的循環方法設置爲true – Kaijju

+0

謝謝sooooooo muchh .. :)現在完美運行。 – user3406362