背景音循环有间隔问题
getCurrentPosition(),用它可以检测声音播放的偏移
if (mMediaPlayer.getCurrentPosition() >= 15800)
{
mMediaPlayer.seekTo(50);
}
音效的播放
//音效的音量
int streamVolume;
//定义SoundPool 对象
private SoundPool soundPool;
//定义HASH表
private HashMap<Integer, Integer> soundPoolMap;
/***************************************************************
* Function: initSounds();
* Parameters: null
* Returns: None.
* Description: 初始化声音系统
* Notes: none.
***************************************************************/
public void initSounds() {
//初始化soundPool 对象,第一个参数是允许有多少个声音流同时播放,第2个参数是声音类型,第三个参数是声音的品质
soundPool = new SoundPool(100, AudioManager.STREAM_MUSIC, 100);
//初始化HASH表
soundPoolMap = new HashMap<Integer, Integer>();
//获得声音设备和设备音量
AudioManager mgr = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
}
/***************************************************************
* Function: loadSfx();
* Parameters: null
* Returns: None.
* Description: 加载音效资源
* Notes: none.
***************************************************************/
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中开发应用的按钮等的点击音效,android游戏中的音效等
总的来说,Android的音乐、音效架包为开发者提供了强大的音频处理能力,无论是简单的游戏音效还是复杂的音乐播放需求,都能得到很好的满足。通过合理使用SoundPool和MediaPlayer,开发者可以大大提高开发效率,同时...
本篇文章将深入探讨如何使用SoundPool类来实现游戏音效的播放,让玩家在游戏过程中感受到更加生动和真实的声音效果。 SoundPool是Android系统提供的一种高效的声音播放工具,特别适合用于短小、循环或需要快速响应...
在Android游戏开发中,音乐与音效的处理是至关重要的组成部分,它们为玩家带来沉浸式的游戏体验。本篇文章将深入探讨“太鼓达人”这类音乐节奏游戏的开发原理,通过雨松MOMO的专业讲解,我们可以了解到如何在Android...
【Android-MFSocket-集成FMOD音效引擎的AndroidStudio工程】是一个专为Android开发者设计的项目,旨在演示如何在Android应用中集成FMOD音效引擎。FMOD是一家知名的音频技术公司,其音效引擎被广泛应用于游戏和其他...
在Android平台上,音效处理是开发高质量应用的重要组成部分,尤其是对于音乐、游戏或者任何与音频交互的应用来说。"TestEQ音效demo"是一个专为测试音效设计的示例项目,它可以帮助开发者理解和实践如何在Android系统...
【Android版扫雷游戏(有音效)源代码】是一个基于Android平台的、包含完整音效功能的扫雷游戏项目。这款扫雷游戏是开发者利用Java编程语言和Android Studio开发环境构建的,它包含了游戏的基本逻辑、用户交互界面...
在游戏开发中,SoundPool类经常被用于播放音效,以提高游戏的趣味性和真实感。 二、准备音频文件 在添加点击音效之前,需要准备一个音频文件。音频文件可以是wav、mp3等格式,需要将其放入项目的res/raw目录下。 ...
5. **音频播放**:Android的MediaPlayer或SoundPool类可以用来播放背景音乐和游戏音效。开发者需要学会如何加载和控制音频资源。 6. **游戏逻辑**:游戏的规则、计分系统、敌人生成等都需要编程实现。这涉及到数据...
游戏音效编辑器是一款专为游戏开发者设计的专业工具,它允许用户轻松地创建、编辑和管理游戏中的各种音效,如角色跳跃、武器射击、爆炸等。这款编辑器支持跨平台使用,涵盖iPhone和Android设备,同时兼容流行的游戏...
这个压缩包提供的源码示例将帮助开发者了解和掌握Android游戏中的音乐播放和音效触发机制,以及相关的性能优化策略。 【描述】"源码参考,欢迎下载"提示我们,此压缩包包含可供学习和参考的源代码,旨在促进开发者...
本“android游戏小Demo”就是一个很好的起点,它提供了基础的游戏开发框架,帮助学习者理解Android游戏开发的基本概念和流程。 首先,我们来讨论Android游戏开发的基础。Android游戏通常基于Java或Kotlin语言编写,...
游戏音效也是提升用户体验的重要环节。书可能会讨论如何集成Android的音频API,播放背景音乐,以及处理游戏中的音效事件。此外,存储和加载游戏数据(如用户进度、得分)也是必不可少的知识,这通常涉及到SQLite...
总之,结合OpenGL ES 2.1和OpenSL ES,Android开发者可以创造出具有丰富音效和视觉效果的游戏或应用。尽管这需要一定的学习曲线,但掌握这些技术将为你的应用带来独特的竞争力。通过不断实践和学习,你将能够驾驭...
通过对这个"android小游戏源码"的深入学习,开发者不仅可以了解Android游戏开发的基本流程,还能掌握优化游戏性能、提升用户体验的各种技巧。无论是新手还是经验丰富的开发者,都能从中获益良多。
6. **音频处理**:游戏音效是增强用户体验的重要组成部分。Android提供了MediaPlayer和SoundPool类来播放背景音乐和音效。 7. **存储与持久化**:游戏进度、用户设置等数据需要保存,Android提供了...
6. **音频与多媒体**:游戏音效和背景音乐能极大地提升游戏体验。Android提供了MediaPlayer和SoundPool类来处理音频播放,你将学习如何导入和播放音频文件。 7. **多线程**:为了保证游戏的流畅性,通常需要在后台...
【Android游戏源码合集】是一个集合了多个Android平台游戏的源代码资源,对于学习和研究Android游戏开发的开发者来说,这是一个极其宝贵的资料库。它涵盖了各种类型的游戏,包括但不限于休闲、策略、动作、冒险等,...
- Android游戏开发通常基于Java或Kotlin语言,本项目可能采用其中一种。了解这两种语言的基本语法和面向对象编程概念是必不可少的。 - 使用Android Studio作为集成开发环境(IDE),它是Google官方提供的Android...
这篇详细的教程将带你从零开始学习Android游戏编程,并提供源码供你参考和实践。我们将会深入探讨以下几个关键知识点: 1. **Android基础知识**:首先,你需要熟悉Android开发环境,包括安装Android Studio、设置...