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