嗨,大家好我试图在某些时候停止媒体播放,但它对我来说不起作用,我的代码让我知道这段代码有什么问题。
int Str = 36000;
int Stop = 51000;
mediaPlayer.seekTo(Str);
mediaPlayer.start();
if(mediaPlayer.getCurrentPosition() == Stop)
{
mediaPlayer.stop();
}
媒体播放器在指定点启动并继续播放,当我调试它时,它进入if条件并且它仍然继续播放没有错误(据我所知)显示,我玩的同时,如果条件和调试逐行,但无法弄清楚,请帮助我感谢您的时间
答案 0 :(得分:2)
尽量限时:
while(mediaPlayer.getCurrentPosition() >= Str && mediaPlayer.getCurrentPosition() <= Stop)
{
}
然而,明智地使用它,你可能会冻结某些东西并最终进入ANR。
您可以使用Thread
或Handler
延迟1000毫秒来发现有用,但正如@ dhaag23所提到的,它不太可能得到准确的Stop
答案 1 :(得分:1)
媒体播放器命令通常是异步执行的,因此您不太可能将当前位置设置为“停止”位置。也许您想将测试更改为:
if(mediaPlayer.getCurrentPosition() >= Stop)