【发布时间】:2010-07-09 12:49:14
【问题描述】:
我使用 MediaPlayer 从网络播放一首 mp3 歌曲。数据源是 HTTP URL。
假设我们有以下播放状态。
歌曲时长:1:00
当前进度:0:10
当前缓冲进度 0:30
假设我想跳过歌曲的某些部分并向前搜索。我用 MediaPlayer.seekTo() 方法来做。如果我寻求缓冲位置(0:20),它会正确执行。但是,如果我寻找一个尚未缓冲的位置(0:40),MediaPlayer 的行为就会很奇怪。它立即表明它已正确查找,而无需等待缓冲区填充。事实上,它继续在寻找之前的相同位置播放。从现在开始 MediaPlayer.getCurrentPosition() 方法返回错误的位置。当播放结束并调用 OnCompletionListener.onCompletion 回调时,当前媒体播放器的位置远高于整个歌曲的持续时间。
有解决这个问题的想法吗?
【问题讨论】:
标签: android media-player