我正在创建一个非常简单的媒体播放器应用 . 我想从使用getCurrentPosition捕获的SeekTo位置恢复这首歌 . 但是,seekTo并不是从我捕获的位置开始,而是从头开始 .
代码捕获当前位置,暂停和更改按钮文本以单击以继续
int media_length = mediaplayer.getCurrentPosition();
Toast.makeText(this,"media length is"+media_length, Toast.LENGTH_LONG).show();
mbutton.setText("Click to Resume");
mediaplayer.pause();
要搜索的代码捕获位置,启动和更改按钮文本以单击以暂停
mediaplayer.seekTo(media_length);
mediaplayer.start();
mbutton.setText("Click to Pause");
有几个帖子已经与它有关,但它们似乎在Android中声称存在错误 . 参考:MediaPlayer seekTo doesn't work并且有任何解决方法吗?感谢任何帮助 .
2 回答
你可以尝试下面的代码 . 它对我有用......
您可以在此之前暂停mediaplayer,并在此方法之后调用start方法 .
尝试使用回调MediaPlayer.OnSeekCompleteListener .
重要提示:在此示例中,我添加了
SystemClock.sleep(200)
,因为在搜索到真正完成之前玩家很快就会调用onSeekComplete(MediaPlayer arg0)
.