我很难在 android 中使用媒体播放器。基本上,我尝试从我的 SD 卡中播放一首正在下载的歌曲(某种流媒体)。因此,在下载歌曲(20%)后,歌曲开始播放,如果我这样离开它,它可以正常播放直到结束。但是如果我尝试在最后寻找(超过 20%)显然它不会起作用,因为我的寻找位置在 EOF 文件上所以我在一个方法中制作了这段代码
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(sFilePath);
mp.prepare();
int offset = (progress * mp.getDuration()) / 100;
if (sCompleted) return;
sLastSeek = offset;
if (offset > sMediaPlayer.getDuration()) {
sMediaPlayer.reset();
sMediaPlayer.setDataSource(sFilePath);
sMediaPlayer.prepare();
} else {
sMediaPlayer.seekTo(offset);
}
sMediaPlayer
我的媒体播放器在哪里,sFilePath
是文件路径。理论上应该涵盖我提出的案例,但是当我搜索文件长度时,播放器被重置(如代码所示)但没有播放,这非常尴尬并且超出了我的能力。