如何在 libgdx 中循环播放音乐?
How to play music in loop in libgdx?
我在 create 中创建的音乐是这样的:
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"));
在活动中它起作用了,但只有一次。
我认为问题在于播放完文件后自行处理...
如何循环播放音乐?我做错了什么?
你做得对,但 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。
我在 create 中创建的音乐是这样的:
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"));
在活动中它起作用了,但只有一次。
我认为问题在于播放完文件后自行处理...
如何循环播放音乐?我做错了什么?
你做得对,但 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。