Android游戏开发中通过音量键调节游戏声音

在Android游戏开发中,有两种音量,一种是软音量,软音量可以是通过设置MediaPlayer和SoundPool的音量来实现游戏的声音增减,常见的游戏引擎,如cocos2d-x都有相应的声音引擎来封装软音量方便开发。

但是游戏引擎却没提供硬件音量的设置,这需要我们自己来监听手机上的上下两个音量键,来实现对“媒体音量的”调节。

重写Activity中的onKeyDown方法。

private AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE);//声音管理类
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
    case KeyEvent.KEYCODE_VOLUME_UP://增大音量
        audio.adjustStreamVolume(
            AudioManager.STREAM_MUSIC,
            AudioManager.ADJUST_RAISE,
            AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
        return true;
    case KeyEvent.KEYCODE_VOLUME_DOWN://减小音量
        audio.adjustStreamVolume(
            AudioManager.STREAM_MUSIC,
            AudioManager.ADJUST_LOWER,
            AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


代码就这么简单,很轻松的就可以实现在程序中通过音量键调节音量,赶快贴到你的应用和游戏里试试吧!

你可能感兴趣的:(Android游戏开发中通过音量键调节游戏声音)