安卓(Android)游戏开发音效代码

作者:lqh 时间:2023-11-15 14:47:58 

游戏音效就是我们在玩游戏时出现的音乐,这个也是每个游戏必备的一部分,但有是你做游戏的背景音乐有间断的感觉的话,我们可以用getCurrentPosition()这个方法来判断一下声音播放的偏移。其实这个也是非常简单的。只要我们在代码当中设置好(初始化声音)和(加载音效资源)就可以了,别的就和音乐播放器的代码差不多,像开始,停止。不多说了,我们还是先来看看代码当中是怎么实现音效的吧:

1.音效的音量

int streamVolume;


//定义SoundPool 对象 private SoundPool soundPool;
//定义HASH表 private HashMap soundPoolMap;
/*Parameters: null
* Returns: None.
* Description: 初始化声音系统
* Notes: none.
***************************************************************/

2.初始化soundPool


public void initSounds() { //初始化soundPool 对象,第一个参数是允许有多少个声音流同时播放,第2个参数是声音类型,第三个参数是声音的品质 soundPool = new SoundPool(100, AudioManager.STREAM_MUSIC, 100);
//初始化HASH表 soundPoolMap = new HashMap();
//获得声音设备和设备音量 AudioManager mgr = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
}
/*************************************************************** * Function: loadSfx();
* Parameters: null
* Returns: None.
* Description: 加载音效资源
* Notes: none.
***************************************************************/

3.加载


public void loadSfx(int raw, int ID) { //把资源中的音效加载到指定的ID(播放的时候就对应到这个ID播放就行了) soundPoolMap.put(ID, soundPool.load(context, raw, ID));
}
/*************************************************************** * Function: play();
* Parameters: sound:要播放的音效的ID, loop:循环次数
* Returns: None.
* Description: 播放声音
* Notes: none.
***************************************************************/
public void play(int sound, int uLoop) { soundPool.play(soundPoolMap.get(sound), streamVolume, streamVolume, 1, uLoop, 1f); }
标签:Android,音效
0
投稿

猜你喜欢

  • 使用Springboot搭建OAuth2.0 Server的方法示例

    2023-01-28 07:19:16
  • Groovy的规则脚本引擎实例解读

    2023-07-11 21:24:04
  • Android实现签名涂鸦手写板

    2022-07-27 04:10:14
  • Android实战教程第五篇之一键锁屏应用

    2023-12-03 18:47:36
  • 安卓实现自定义圆形取色盘

    2022-01-14 18:01:55
  • JAVA进程突然消失问题解决方案

    2023-12-24 04:38:43
  • 深入学习C#网络编程之HTTP应用编程(下)

    2023-03-16 12:06:37
  • Android注解基础介绍快速入门与解读

    2023-04-30 22:32:19
  • Android仿google now效果的呼吸按钮

    2023-06-17 07:58:02
  • C#运算符重载用法实例分析

    2023-02-16 00:33:05
  • SpringBoot+LayIM+t-io 实现好友申请通知流程

    2023-07-13 11:41:52
  • java中字符串转整数及MyAtoi方法的实现

    2023-09-23 20:54:19
  • java批量修改文件后缀名方法总结

    2022-03-15 15:46:04
  • 详解android进行异步更新UI的四种方式

    2023-12-24 19:46:55
  • 浅谈C#六大设计原则

    2023-05-02 16:29:58
  • Android拍照上传功能示例代码

    2022-08-22 07:51:39
  • JavaWeb 使用DBUtils实现增删改查方式

    2023-01-31 04:31:48
  • 基于Unity制作一个简易的计算器

    2023-02-18 10:02:39
  • 基于Hadoop实现Knn算法

    2023-11-27 04:01:20
  • .NET/C#实现识别用户访问设备的方法

    2021-12-20 06:30:58
  • asp之家 软件编程 m.aspxhome.com