2015-05-29 210 views
0

我需要在Android應用程序中播放音頻,所以我使用了MediaPlayer。 我創建了2個按鈕:播放和暫停,但是當我暫停了一首歌曲並想繼續播放歌曲後,歌曲再次開始播放,而不是從我離開的地方恢復。Android MediaPlayer pause()停止播放器並重新開始

我寫了這個代碼:

public MediaPlayer mediaPlayer = new MediaPlayer(); 


public void playPre(View view) { 
    //mediaPlayer.release(); 
    mediaPlayer = MediaPlayer.create(MainActivity.this,R.raw.music); 
    mediaPlayer.start(); 
    ImageView pausaOneButton = (ImageView)findViewById(R.id.PausaOneButton); 
    pausaOneButton.setVisibility(View.VISIBLE); 


} 

public void stopPre(View view) { 

    mediaPlayer.pause(); 
    ImageView pausaOneButton = (ImageView)findViewById(R.id.PausaOneButton); 
    pausaOneButton.setVisibility(View.INVISIBLE); 

} 

有什麼不對?

回答

1

您每次致電playPre()時都會重新創建MediaPlayer。你可以更改您的代碼如下:在playPre(View view)

public MediaPlayer mediaPlayer = null; 

public void playPre(View view) { 
    if (mediaPlayer == null) { 
     mediaPlayer = MediaPlayer.create(MainActivity.this,R.raw.music); 
    } 
    mediaPlayer.start(); 
    ImageView pausaOneButton = (ImageView)findViewById(R.id.PausaOneButton); 
    pausaOneButton.setVisibility(View.VISIBLE); 


} 

public void stopPre(View view) { 

    mediaPlayer.pause(); 
    ImageView pausaOneButton = (ImageView)findViewById(R.id.PausaOneButton); 
    pausaOneButton.setVisibility(View.INVISIBLE); 

} 
+0

完美!謝謝akirk!它完美的工作! – Gualty

0

您的問題繼電器,試試這個:

if(mediaPlayer == null) { 
    mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.fire); 
} 
if(mediaPlayer.isPlaying()){ 
    return; 
} 
mediaPlayer .start(); 

您還必須檢查如果媒體已經與mediaPlayer.isPlaying()

下面是我爲媒體播放器製作的示例項目: Test Project

相關問題