在某个时刻停止MediaPlayer

时间:2012-01-06 22:33:46

标签: android android-mediaplayer

嗨,大家好我试图在某些时候停止媒体播放,但它对我来说不起作用,我的代码让我知道这段代码有什么问题。

int Str = 36000;
                int Stop = 51000;
                mediaPlayer.seekTo(Str);
                mediaPlayer.start();
                if(mediaPlayer.getCurrentPosition() == Stop)
                {
                    mediaPlayer.stop();
                }

媒体播放器在指定点启动并继续播放,当我调试它时,它进入if条件并且它仍然继续播放没有错误(据我所知)显示,我玩的同时,如果条件和调试逐行,但无法弄清楚,请帮助我感谢您的时间

2 个答案:

答案 0 :(得分:2)

尽量限时:

while(mediaPlayer.getCurrentPosition() >= Str && mediaPlayer.getCurrentPosition() <= Stop)
{
}

然而,明智地使用它,你可能会冻结某些东西并最终进入ANR。

您可以使用ThreadHandler延迟1000毫秒来发现有用,但正如@ dhaag23所提到的,它不太可能得到准确的Stop

答案 1 :(得分:1)

媒体播放器命令通常是异步执行的,因此您不太可能将当前位置设置为“停止”位置。也许您想将测试更改为:

if(mediaPlayer.getCurrentPosition() >= Stop)