admin管理员组文章数量:1605635
[TOC]
0x00 需求
单曲循环播放歌曲,要求过度连贯,听不出来卡顿感觉。
0x01 解决思路
MediaPlayer
对于常见的音乐播放,我们第一时间想到的应该就是它,它有一个方法
MediaPlayer.setLooping(true);
就是用来进行单曲循环的。但是很遗憾,如果你简单的这么做,上面的目的是达不到的,会出现上一遍结束出现一个明显的停止才开始播放下一次的现象。
不过最后就是用的这个组件,不过不是简单的设置 setLooping(true)。
SoundPool
一段时间内可能会播放很多音乐的时候,我们首先应该选择这个。
第三方组件
如果没有特殊的需求,这个不是首选,特别是当引入的组件特别重的时候。
因为之前踩过坑:iOS上直接播放mp3文件,单曲循环的时候播放的间隙特别长,卡顿的感觉无法接受,解决方法是将mp3转换成m4a,基本上听不出中间的过度间隙。
首先尝试了使用 MediaPlayer 来播放,在我的机器(MX4 Pro)上播放还勉强能接受,间隙不是非常明显,换到配置差一点的机器上就不能忍了。然后尝试了 SoudPool ,无论是预加载一次循环播放,还是预加载两次循环播放,中间的卡顿感觉和用 MediaPlayer.setLooping(true); 一样一样的。再然后,尝试macOS 下编译 vlc for android ,我失败了╮(╯▽╰)╭)问题总要解决的,再找其他办法。
0x02 死循环
找了很多资料,最后使用一个循环
本文标签: 单曲播放器音乐androidmediaplayer
版权声明:本文标题:android音乐播放器 单曲循环,[Android] MediaPlayer单曲循环不卡顿 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728487186a1160296.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论