我试图在我的LibGDX项目中设置后台。我在代码中写了Asset.java
文件:
public static void playBackgroundsound(){
backgroundsound.loop();
}
在此之后我进入了MainMenuScreen.java
文件并在游戏的开始按钮的onClick()
中写了这一行:
Assets.playBackgroundsound();
声音长达30秒,只能在完全播放后循环播放。 问题是它在4秒后循环。 它是什么原因以及如何解决这个问题?
这是GitHub项目: https://github.com/DaFaack/FlappyBibi
答案 0 :(得分:1)
background1.mp3
可能不是30秒
backgroundsound.mp3
检查您的资产文件夹。
Mp3文件在开始时有一些解码延迟。
您可以使用.wav
文件代替.mp3
,以减少延迟Sound
效果,您应该使用较小的.mp3
文件。
在我对背景声音的建议中,您应该使用Music
代替Sound
。
根据wiki:
声音效果是小型音频样本,通常不会超过几个 秒,在特定游戏事件(如a)上播放 角色跳跃或射击枪。
音乐是 -
对于任何长于几秒的声音,最好是 从磁盘流式传输而不是将其完全加载到RAM中。 Libgdx 提供了一个音乐界面,可以让你这样做。
加载和播放音乐就像Sound
一样简单:
Music music = Gdx.audio.newMusic(Gdx.files.internal("data/mymusic.mp3"));
music.setLooping(true);
music.play();