android控制音量键按下的操作

在Android应用中,默认音量键调整铃声音量,但可以通过在Activity中重写onKeyDown方法来控制媒体音量。通过指定streamType如STREAM_MUSIC,可以实现媒体音量的增减。同时,通过调整direction(如ADJUST_RAISE或ADJUST_LOWER)和flags(如FLAG_PLAY_SOUND或FLAG_SHOW_UI)来控制音量变化的行为。在视频通话场景中,若存在通话音量与媒体音量冲突,使用STREAM_DTMF属性可避免显示双音量控制。
摘要由CSDN通过智能技术生成

在app中,如果不是特殊场景,音量键默认调整铃声音量。但是很多情况下,我们需要调整的是媒体音量。所以可以在activty中加上这句:

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

在一些特殊场景下,比如视频通话之类,因为打开了麦克风,所以系统默认会让音量键调整通话音量,类似于你打电话的时候。

此时想要控制音量键按下的操作,需要重写onKeyDown方法:

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		AudioManager am = (AudioManager) getSystemService(Service.AUDIO_SERVICE);
		switch (keyCode) {
		case KeyEvent.KEYCODE_VOLUME_UP:
			am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
			am.adjustStreamVolume(AudioManager.STREAM_DTMF, AudioManager.ADJUST_RAISE, 0);
			break;
		case KeyEvent.KEYCODE_VOLUME_DOWN:
			am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
			am.adjustStreamVolume(AudioManage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值