使用单个媒体播放器在点击时停止或暂停MediaPlayer

时间:2014-03-05 18:20:07

标签: android media-player

如何仅使用1个媒体播放器停止或暂停MediaPlayer? 例如,我有网格视图。当我点击按钮时我想要的是播放声音。 但这里很棘手。当我再次点击按钮时,它不会停止它,而是它静止的声音并从头开始播放。 我试着添加

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;

2 个答案:

答案 0 :(得分:0)

您应该可以暂停曲目

Mediaplayer.pause();
length=Mediaplayer.getCurrentPosition();

保存长度,然后以该长度恢复

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

答案 1 :(得分:0)

你需要这样的东西:

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

一旦准备好媒体播放器,mPrepared就是真的。如果仔细查看状态图和表,您会注意到在开始播放之前调用pause()是错误的。如果这确实是故意的,那么你也需要mHasStarted标志。