MediaPlayer.seekTo()不适用于无缓冲位置

plu*_*ind 12 android media-player

我使用MediaPlayer从网络播放一首mp3歌曲.数据源是HTTP URL.

让我们假设我们有以下游戏状态.

歌曲持续时间:1:00

目前进展:0:10

当前缓冲进度0:30

让我们说我想跳过一首歌的某些部分并向前寻求.我使用MediaPlayer.seekTo()方法.如果我寻求缓冲位置(0:20),它会正确执行.但是如果我寻找一个尚未缓冲的位置(0:40),MediaPlayer表现得很奇怪.它立即表明它已正确搜索而无需等待缓冲区填充.事实上,它继续在寻找之前的同一位置上演奏.从现在开始,MediaPlayer.getCurrentPosition()方法返回错误的位置.当播放到达其结尾并且调用OnCompletionListener.onCompletion回调时,当前媒体播放器位置远高于整个歌曲持续时间.

解决这个问题的任何想法?

Mat*_*adt 1

它可能与最终在 2.2 中修复的错误(参考其中一条评论)有关 http://code.google.com/p/android/issues/detail?id=4124