AndEngine基础笔记之添加音乐音效

本文详细介绍了如何使用AndEngine为游戏添加音效与背景音乐,包括资源准备、配置音效与音乐播放的方法,以及如何在游戏的不同状态中控制音效与音乐的播放与暂停。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

游戏的音乐和音效是游戏的灵魂,好的音乐音效能使游戏更生动,更真实。

利用AndEngine添加游戏音效十分方便,首我们在assets中创建子音效资源文件夹gfx,将歌曲放入,这里我们放入了music.mp3,sound.mp3。前为背景音乐,后为游戏音效。

1、首先在设定使Engine知道我们要使用音乐音效。在onCreateEngineOptions()方法中,我们加入如下两句代码:

 engineOptions.getAudioOptions.setNeedsMusic(true);

engineOptions.getAudioOptions.setNeedsSound(true);

 2、加载音乐资源,在onCreateResources()方法中,利用MusicFactory ,和SoundFactory加载资源。代码如下:

  SoundFactory.setAssetBasePath("sfx/");

  MusicFactory.setAssetBasePath("sfx/");

 Sound mSound=SoundFactory.createSoundFromAsset(getSoundManager(),this,"sound.mp3");

 Music mMusic=MusicFactory.crateMusicFromAsset(getMusicManager(),this,"music.mp3");

3、一但音乐加载至SoundFactory中,我们可以通过mSound.play();播放。

但是MusicFactory处理的方式和SoundFactory不同,因为音效时间很短,而音乐一般作为背景音,循环播放的,所以应在onResumeGame()中设定.

 @override

  public synchronized void onResumeGame(){

 if(mMusic!=null && !mMusic.isPlaying()){

  mMusic.play();

  }

  super.onResumeGame();

 }

 背景音就会一值播放,直到暂停:

 @override

 public synchroized void onPauseGame(){

  if(mMusic!=null && mMusic.isPlaying()){

    mMusic.pause();

  }

   super.onPauseGame();

 }

PS:注意,一定要在音乐资源加载完,才能播放,即调用play方法,否则异常,所以最好在onCreateResources()执行完后再调用。

当然Andengine是调用安卓的本地库实现音乐的播放的,所以还有一些其它的方法支持我们对Music播放操作。

seekTo(pMilliseconds):跳转到pMilliseconds时间处。

setLooping:是否支持循环播放

setOnCompletionListener:添加监听器给Music对象,保证在音乐加载完后触发相应的事件。

setVolume:设定音乐音量。

对于Sound:

setLooping:不仅具有重复播放的功能,还能通过setLoopCount(pLoopCount)来设置重复的次数。

setRate(pRate):设置音效播放的频率,比如正常是1.0f,设置0.5f,播放速度减慢,设置2.0f,则播放速度加快。

setVolume:设置音效音量



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值