Android:如何在MediaPlayer中播放无间隙音频循环?

Android:如何在MediaPlayer中播放无间隙音频循环?,android,android-mediaplayer,android-audiomanager,exoplayer2.x,m4a,Android,Android Mediaplayer,Android Audiomanager,Exoplayer2.x,M4a,我知道这个问题在这个平台上被问了很多次,但没有一个能解决我的问题。 我试图在循环中播放声音文件,但当循环第一次完成时,有一个明显的间隙 我有.M4A格式的声音文件 我试图解决这个问题已经一个星期了,我已经尝试了以下解决方案 1) 我尝试使用mediaPlayer.setLooping(true)和mediaPlayer.setNextMediaPlayer(mediaPlayer1) 2) 尝试了不同的文件格式OGG、WAV和MP3 3) 尝试了不同的演奏者外演奏者和双簧管 4) 我试过这篇文章

我知道这个问题在这个平台上被问了很多次,但没有一个能解决我的问题。 我试图在循环中播放声音文件,但当循环第一次完成时,有一个明显的间隙

我有.M4A格式的声音文件

我试图解决这个问题已经一个星期了,我已经尝试了以下解决方案

1) 我尝试使用
mediaPlayer.setLooping(true)
mediaPlayer.setNextMediaPlayer(mediaPlayer1)

2) 尝试了不同的文件格式OGG、WAV和MP3

3) 尝试了不同的演奏者外演奏者双簧管

4) 我试过这篇文章

5) 我也试过这篇文章

另外,我已经检查了StackOverflow Q&A

(一)

(二)

(三)

(四)

但从上面看,它们都不起作用

任何帮助都将不胜感激


提前感谢

可能不是您想要的答案,但您可以使用Superpowered Audio SDK。(). 你需要编写一个简单的C++播放器,并建立一个JNI来与玩家通信。我不久前用过它,你可以不间断地循环音频。谢谢你的回答,但我正在寻找一些开源的东西。嗨,我也可以看看代码吗?。您是否使用onCompletion(MediaPlayer)方法?您已经用mediaPlayer重置了媒体播放器。重置();?几年前,我试图在Flash中循环播放视频时遇到了类似的问题。这个问题与流缓冲区需要准备一点有关(即使是本地磁盘流)。最后我加了一秒左右,执行时间检查并将当前时间重置为0。另一个可能的解决方案是使用定制播放器将音频加载到内存中,但不知道这是否符合您的目的。我尝试了您提到的所有方法,唯一有效的解决方案是Exoplayer。我使用了资产文件夹中的mp3文件。您在哪个设备/android版本上进行了测试?若声音的持续时间很短(~3秒),那个么声音池将和以低质量导出的长ogg文件一样工作。