一,为什么要无缝循环
Android MediaPlayer 设置Loop=true之后呢音乐是会循环,但循环中间会出现停顿,其实原来就是再整首播放结束后再调用MediaPlayer的start函数,但start函数调用是需要时间,这时间就是停顿的原因。
二,OGG文件与Wav文件解决方案(王者级解决方案)
基于BASS音频库封装的Android 音频播放库
Github:https://github.com/ViTess/Android-FmlPlayer
三,MP3文件解决方案(青铜级解决方案)
找了一些文章都没有找到解决方案,为了进度,只能自己写解决方法了。
1,首先准备两个MediaPlayer,同时加载音乐,做好播放准备,第一个进行播放。
mediaPlayerOne = new MediaPlayer(); mediaPlayerTwo = new MediaPlayer(); mediaPlayerOne.setDataSource(mContext, Uri.parse(localpath)); mediaPlayerTwo.setDataSource(mContext, Uri.parse(localpath)); mediaPlayerOne.prepareAsync(); mediaPlayerTwo.prepareAsync(); mediaPlayerOne.start();
2,设置一个定时器,一秒获取一次播放进度
p