一个可玩性高的游戏,必须要有优美的音乐,才能满足用户的需要。游戏中的音乐有许多种,例如:背景音乐、游戏插曲、打击声、按键声等,这些都是游戏必不可少的元素。libgdx引擎同样为我们封装了音频模块(The Audio Module)为了方便我们能更好的开发游戏,今天我们就来详细的介绍下,libgdx中的音频模块的使用方法。
libgdx的音频其实真的很简单。你可以使用三种方式来输出你所需要的声音:
- 第一种情况像枪声、按键声、转屏声等这些都可以使用Sound来实现。
- 第二种就是类似于背景音乐、人物对话等比较长的音乐可以使用Music来实现,
- 第三种就是你直接写PCM数据AudioDevice。libgdx封装了这3种类型的声音输出作为接口,
Audio 接口
public interface Audio { public Sound newSound(FileHandle fileHandle); public Music newMusic(FileHandle file); public AudioDevice newAudioDevice(boolean isMono); }
他们被称为:声音、AudioDevice、音乐。声音和应用都是系统资源。如果图形资源一样,你必须在它们不再被使用的时候,通过调用Sound.dispose()和Music.dispose()方法释放它们。Libgdx支持mp3,Ogg以及Wave文件格式,我建议你在大多数情况下使用Ogg格式。如果你需要对音频设备更多的控制,那么你可以使用AudioDevice和AudioRecorder类,这两个类可以从Audio接口得到。这些类允许你从物理音频设备输出PCM音频样本,也允许你使用麦克风记录PCM样本。不要忘记清理它们。
支持格式:mp3、ogg、wav等。
大家可以看到,接口中包含2个方法,都可以通过检索文件的方式来获取我们所要使用的资源,当你创建一个新的AudioDevice时候,可以指定是否设置单声道或立体声。如果不设置的话,libgdx默认设置为44100Hz采样率,这样方便我们使用音频接口。
Sound sound = Gdx.audio.newSound(Gdx.files.internal("sound.wav")); Music music = Gdx.audio.newMusic(Gdx.files.internal("xxx.ogg"));
下面介绍Sound类
Comments NOTHING