Android 循环媒体播放器之间的小停顿

Android 循环媒体播放器之间的小停顿,android,android-mediaplayer,android-audiomanager,Android,Android Mediaplayer,Android Audiomanager,我试着多次循环一个30秒左右的音轨。我正在使用MediaPlayer播放声音,下面是创建声音的代码: mAnimalMediaPlayer = MediaPlayer.create(mContext, fish.getSound()); 然后我打电话: mAnimalMediaPlayer.setLooping(true); mAnimalMediaPlayer.start(); 单击播放按钮时。当轨迹循环时,在轨迹结束和新循环开始之间会有一个小但明显的停顿。我确信我使用的音频文件不包含任何

我试着多次循环一个30秒左右的音轨。我正在使用
MediaPlayer
播放声音,下面是创建声音的代码:

mAnimalMediaPlayer = MediaPlayer.create(mContext, fish.getSound());
然后我打电话:

mAnimalMediaPlayer.setLooping(true);
mAnimalMediaPlayer.start();
单击播放按钮时。当轨迹循环时,在轨迹结束和新循环开始之间会有一个小但明显的停顿。我确信我使用的音频文件不包含任何实际暂停

下面是一个android bug报告,已经发布了一段时间:

我尝试了一些解决方法(例如使用
.ogg
文件而不是
.mp3
),但问题仍然存在


我正在寻找任何可能的解决办法,使我能够无缝地循环播放多次。

有一个非常明显的停顿。然而,我刚刚通过在运行level 25的模拟器上的实验发现,如果一个玩家准备两个相同的玩家,并在另一个玩家完成后交替启动他们,那么差距就会变得更加难以听到。

如果你愿意全力以赴,考虑使用MealAcDEC对原始PCM解码音频,并将其泵入流模式音频轨道。这是一个非平凡的代码量,但让你完全控制音频的渲染。如果你能发布你成功的实验代码,它的可能副本将对未来的参与者有用。