首页 > 代码库 > Android实现OGG音频的无缝循环播放

Android实现OGG音频的无缝循环播放

说来惭愧,到最后好像自己也没做到些什么出来。

因为工作需求,需要实现同时对多首OGG音频进行无缝循环播放。

我尝试过在Java层用Java解码OGG文件,那效率就不说了,想崩溃就用吧:D

后来用本地代码尝试,但我最终只实现了单线程解码并播放,基于OGG解码库和OpenAL播放,而且是解码完再播放。

其实思路是很简单的,一边解码一边把解码后的数据放进播放器缓存播放就是了。但是由于时间关系后面的没做到。

最后在偶然之下发现BASS库


BASS Library:http://www.un4seen.com/


不得不说这库够强大的。

尝试了下确实可以无缝播放了,同时BASS库本身还有其他很好的功能可以发掘。

另外作者在论坛里也说道,无缝循环也只是在解码时一旦解码到文件尾就重新从头解码而已。


所以最后我选择对它进行了简单的封装,稍微参考MediaPlayer的方法。

具体可以看这里:https://github.com/ViTess/Android-OMEPlayer

往后会逐渐把插件和一些音效功能继续封装,那就不用再去看那个有点莫名其妙的文档了。

Android实现OGG音频的无缝循环播放