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

Ale*_*ian 6 loops playback libgdx

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

music_background = Gdx.audio.newMusic(Gdx.files.internal("background_music.mp3"));
music_background.setLooping(true);
Run Code Online (Sandbox Code Playgroud)

它没有在循环播放的问题.

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

我认为问题是当它完成播放文件时自行处理...

我怎样才能循环播放音乐?我做错了什么?

kar*_*arl 7

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

这是我完美的代码:

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

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