Android mediaplayer暂停后将无法启动

问题描述 投票:0回答:3

我正在尝试制作一个简单的媒体播放器,但暂停按钮不起作用。当我单击暂停按钮时,它停止了,但是当我再次单击播放时,它又从头开始了。

我不知道如何在一个按钮上播放/暂停按钮。

我目前拥有的代码:

http://pastebin.com/wiDkzw5S

已经感谢!

java android android-mediaplayer
3个回答
1
投票

您需要保存媒体播放器和restart it later from that position using seekTo的当前位置。

类似:

seekTo

希望有帮助。


0
投票

这正在运行测试并正在运行代码,您可以使用它来暂停和恢复媒体播放器。

int currentPos = 0;
pause.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {

        if (mediaPlayer.isPlaying()) {
            currentPos = mediaPlayer.getCurrentPosition();
            mediaPlayer.pause();
            //change image to play
        } else {
            mediaPlayer.seekTo(currentPos);
            mediaPlayer.start();
            //again revert image to pause
        }  
    }
});

0
投票

我有一个类似的问题,但是我无法使用上述方法恢复它。

我发现我的pauseAllSounds()函数正在暂停我的声音池中的所有MediaPlayer实例,即使它们尚未播放。发生这种情况时,它会在每个实例中引起一个错误,导致该实例以后无法再次播放。一段时间后,我才发现此问题,原因是正在运行的过程中在控制台输出中查找原因。它逐行显示错误,表明我正试图从无效状态暂停。

int length=0;  
Button pause = (Button) findViewById(R.id.pause);
 pause.setOnClickListener(new OnClickListener() {
 public void onClick(View v) {
 if (mediaPlayer.isPlaying()) {
         mediaPlayer.pause();
        length=mediaPlayer.getCurrentPosition();    
    } else {
        mediaPlayer.seekTo(length);
        mediaPlayer.start();
          }
       }
  });

一旦我添加了测试,仅当它已经在播放时才暂停,一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.