Android平台游戏声音播放实践
2010-07-07 17:23
621 查看
大部分游戏都有音效,不然游戏乐趣会降低很多,而几乎所有音效都是重复播放的。
下面的代码只加载一次音频文件,但是却可以被多次使用。请将音频文件放置在/res/raw路径中。
public static final int SOUND_EXPLOSION = 1;
private SoundPool soundPool;
private HashMap
soundPoolMap;
private void initSounds() {
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
soundPoolMap = new HashMap
();
soundPoolMap.put(SOUND_EXPLOSION, soundPool.load(getContext(), R.raw.explosion, 1));
}
public void playSound(int sound) {
AudioManager mgr = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);
float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = streamVolumeCurrent / streamVolumeMax;
soundPool.play(soundPoolMap.get(sound), volume, volume, 1, 0, 1f);
}
public void explode() {
playSound(SOUND_EXPLOSION);
}
记录激动时刻,赢取超级大奖!点击链接,和我一起参加“2010:我的世界杯Blog日志”活动!
下面的代码只加载一次音频文件,但是却可以被多次使用。请将音频文件放置在/res/raw路径中。
public static final int SOUND_EXPLOSION = 1;
private SoundPool soundPool;
private HashMap
soundPoolMap;
private void initSounds() {
soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 100);
soundPoolMap = new HashMap
();
soundPoolMap.put(SOUND_EXPLOSION, soundPool.load(getContext(), R.raw.explosion, 1));
}
public void playSound(int sound) {
AudioManager mgr = (AudioManager)getContext().getSystemService(Context.AUDIO_SERVICE);
float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
float volume = streamVolumeCurrent / streamVolumeMax;
soundPool.play(soundPoolMap.get(sound), volume, volume, 1, 0, 1f);
}
public void explode() {
playSound(SOUND_EXPLOSION);
}
记录激动时刻,赢取超级大奖!点击链接,和我一起参加“2010:我的世界杯Blog日志”活动!
相关文章推荐
- Android平台游戏声音播放实践
- Android平台游戏声音播放实践
- 一看就会Android之使用SoundPool播放多个短小的音频,如按键提示音,消息提示音,游戏声音等
- 调试|Android平台的声音播放|AudioTrack|JNI|悲催的侧边键
- android SoundPool api 翻译(正在进行) 播放游戏声音
- Android平台Unity所有声音从听筒播放
- android SoundPool api 翻译(正在进行) 播放游戏声音
- android游戏教程:播放游戏声音
- 【第二篇章-android平台buffer播放实现】buffer play demo
- 半个小时移植Flash游戏到Android平台
- Android直接播放麦克风采集到的声音
- 【Android游戏开发二十二】(图文详解)游戏中灵活实现动画播放!简述J2me的游戏类库与Android游戏开发!
- Android平台游戏开发引擎使用指引
- Android中播放声音的两种方法MediaPlayer 和 SoundPool
- 【winows7+android-ndk-r9+Cygwin 】cocos2dx 2.*游戏移植Android平台完全手册
- android 通过数组,流播放声音的方法,音频实时传输(转)
- Android平台<软硬整合实践技术>_答问集 推荐
- Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果
- c++游戏程序移植到android平台后,如何更新程序,重新编译
- android播放html5视频,仅仅有声音没有图像视频