android-discuss
android-discuss copied to clipboard
【求助】关于Mediaplayer快进的问题!
项目中播放音乐用了Mediaplayer来实现的, 现在有个问题就是, 打开一首歌在播放,此时他在缓冲中,缓冲好之后才会播放声音,然而用户打开一首歌 没等缓冲好,直接拖动进度条到中间的位置, 这个时候虽然位置到了中间了,但是 缓冲好之后 又到了起始位置开始播放声音了··· 我的需求就是 和QQ音乐 网易音乐一样, 拖动到中间 那么就从中间开始缓冲,从中间开始播放就行, 求解 这个不知道怎么实现!! 网上找了好多 都不行···
缓冲进度监听
@CoXier 是播放网络音乐! 这个我试过,如果先判断 prepared 会出现这种情况: 如果没有缓冲好,用户就要拖动进度条了,那么进度条直接就跑到起始位置了, 不像我上面说的 虽然拖动到中间了,但是缓冲好之后 又回到起始位置, 监听prepared后 就直接回到起始位置了····
看不惯上面的装逼··························· 试试这样看行不,另外建议用exoPlayer 谷歌官方的···
if(percent != 0){ if(此处判断缓存进度是否大于用户移动进度){//为true表示已缓存到用户移动进度位置 此处进行设置mediaPlayer的进度 }else if(用户是否移动到末尾){ 切换歌曲 }else{ 当前未缓存到该进度,展示加载中状态 } }
你可以记录seekTo的位置,然后在onPrepared中调用start后马上seekTo到你之前记录的位置