我在我的应用程序中使用背景音乐但是我注意到在我将我的Android版本升级到棒棒糖5.0之后,背景音乐不是从第一个节拍开始而是音乐停止为500个然后重复。我确定问题是因为棒棒糖。任何想法如何解决它?
public boolean playBackgroundMusic(int id){
loopMusic = MediaPlayer.create(context, id);
try {
loopMusic.prepare();
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
loopMusic.setLooping(true);
loopMusic.start();
return loopMusic.isPlaying();
}
答案 0 :(得分:0)
可能是由于MediaPlayer
的缓冲机制发生了变化。 MediaPlayer
是一个流式播放器,它不一定会将整个音频保留在内存中,并且可能需要在播放之前在后台缓冲流。
如果您想要响应式循环,则应考虑使用SoundPool
来自文档:
这允许应用程序[...]而不必承受CPU负载 和播放期间解压缩的延迟。
答案 1 :(得分:0)
为什么不试试 setNextMediaPlayer(mp)?不要使用 setLooping()。
您需要在MediaPlayer
结束时制定方法,一遍又一遍地设置下一个MediaPlayer
。
这解决了我的循环问题。希望它有所帮助。