如何在libgdx中循环播放音乐?

时间:2015-01-04 15:35:56

标签: loops libgdx playback

我在创建中创建了这样的音乐:

music_background = Gdx.audio.newMusic(Gdx.files.internal("background_music.mp3"));
music_background.setLooping(true);

它没有在循环中播放的问题。

我也试过没有循环,而是注册setOnCompletionListener,但它也没有播放。当我试图像这样重新加载文件时:
music_background = Gdx.audio.newMusic(Gdx.files.internal("background_music.mp3")); 在活动中它只有一次工作。

我认为问题在于,当它完成播放文件时会自行处理......

如何循环播放音乐?我做错了什么?

1 个答案:

答案 0 :(得分:7)

你做得对,但MP3不适合循环,而是使用OGG。 MP3会在一开始就增加一个短暂的沉默,OGG或WAV没有这个限制。

这是我的代码完美无缺:

menuMusic = Gdx.audio.newMusic(Gdx.files.internal("data/sounds/music_menu.ogg");
menuMusic.setLooping(true);
menuMusic.play();

如果您拥有MP3中的所有文件,只需下载Audacity,导入MP3,编辑空白音频并导出为OGG。