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);
}


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值