Android 使用单个媒体播放器单击停止或暂停MediaPlayer

Android 使用单个媒体播放器单击停止或暂停MediaPlayer,android,media-player,Android,Media Player,仅使用一个媒体播放器如何停止或暂停媒体播放器? 例如,我有网格视图。当我点击按钮时,它正在播放声音。 但这里有一个棘手的部分。当我再次点击按钮时,它并没有停止,而是静止的声音,从一开始就播放。 我试图补充 else{ mp.pause mp.seekTo(0); } 但它不起作用。它给了我错误 这是我的密码: case 24: if(mp!=null) { mp.re

仅使用一个媒体播放器如何停止或暂停媒体播放器? 例如,我有网格视图。当我点击按钮时,它正在播放声音。 但这里有一个棘手的部分。当我再次点击按钮时,它并没有停止,而是静止的声音,从一开始就播放。 我试图补充

else{
mp.pause
mp.seekTo(0);
}
但它不起作用。它给了我错误 这是我的密码:

case 24:
                    if(mp!=null)
                    {
                        mp.release();
                        mp=null;
                    }

                    mp = MediaPlayer.create(Glavni.this, R.raw.s25snd);
                    mp.start();
                    break;

您应该能够暂停该曲目

Mediaplayer.pause();
length=Mediaplayer.getCurrentPosition();
保存长度,然后继续使用该长度

Mediaplayer.seekTo(length);
Mediaplayer.start();

你需要这样的东西:

if (mp == null) {
    initMediaPlayer();
}
...
if (mPrepared && mHasStarted && mp.isPlaying()) {
    mp.pause();
} else if (mPrepared) {
    mHasStarted = true;
    mp.start();
}

其中,媒体播放器准备好后,mprepare为true。如果仔细查看状态图和状态表,就会发现在播放开始之前调用pause()是一个错误。如果这确实是有意的,那么您还需要mHasStarted标志。

您得到了哪些错误?你问的问题不太清楚。我是在问,当我再次单击同一按钮时,如何暂停或停止媒体播放器,而不是从头开始播放它。错误是标记“else”上的
语法错误,删除此标记
mp.pause()和mp.start()应该执行您想要的操作。