【发布时间】:2015-05-05 08:06:02
【问题描述】:
当我在媒体播放器上调用 seekTo() 方法时,文件从正确的位置播放并且效果很好,但是一旦播放完成,我希望它返回到“0”,而不是返回到的位置我调用了 seekTo() 方法。
我正在使用一个线程,它每 500 毫秒对当前位置进行一次采样,然后根据进度更新我的 SeekBar。由于 mediaPlayer 会回到我“寻找”的最后一个地方 - Seekbar 会跳回到那里,看起来很糟糕。
我希望它在文件播放完毕后返回到 0 位置,当然我可以使用 OnCompletionListener 手动设置它,但这会创建一个跳转到我使用 seekTo() 方法设置的位置,然后返回到 0。
这是我正在进行的进度采样的代码:
private void updateProgress() {
mListenerThread = new Thread(new Runnable() {
@Override
public void run() {
while (isRunning) {
int position = mMediaPlayer.getCurrentPosition();
mProgressListener.onProgress(position);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
mMediaPlayer.seekTo(0);
e.printStackTrace();
}
}
}
});
mListenerThread.start();
}
【问题讨论】:
标签: android android-mediaplayer android-seekbar