Android MediaPlayer实现无缝循环播放MP3,用于白噪声循环播放,非常Low的写法

本文介绍了如何使用Android MediaPlayer实现音乐的无缝循环播放,特别是针对MP3文件。由于MediaPlayer在循环时存在停顿问题,作者提出了一个低级但有效的解决方案,包括使用两个MediaPlayer实例、定时器和进度监测来确保几乎无停顿的循环播放,适用于白噪声等应用。
摘要由CSDN通过智能技术生成

一,为什么要无缝循环

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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值