2015-05-29 1654 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