libGDX

LibGDX游戏引擎-9-游戏音乐(Audio)

页面
字体
小树 · 3月19日 · 2014年

一个可玩性高的游戏,必须要有优美的音乐,才能满足用户的需要。游戏中的音乐有许多种,例如:背景音乐、游戏插曲、打击声、按键声等,这些都是游戏必不可少的元素。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类

转载必须注明来源: 小树技术博客 » LibGDX游戏引擎-9-游戏音乐(Audio)

9 条回应