안드로이드 앱을 짜다 보면, 미디어의 불륨을 조정해야 할 때가 있습니다.
그런데 불륨 조정을 누르면 당황스럽게 벨소리 볼륨이 조정이 됩니다.
그걸 다른걸로 조정하고 싶을 경우에는 아래와 같이 onCreate에 setVolumeControlStream을 넣어 주시면 됩니다.
또 다른 방법으로는 아래와 같이 키를 가로채서도 동작이 가능 합니다.
그런데 불륨 조정을 누르면 당황스럽게 벨소리 볼륨이 조정이 됩니다.
그걸 다른걸로 조정하고 싶을 경우에는 아래와 같이 onCreate에 setVolumeControlStream을 넣어 주시면 됩니다.
@Override설정할 수 있는 키는 아래와 같습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setVolumeControlStream(AudioManager.STREAM_MUSIC); // 하드웨어 볼륨이 미디어 볼륨을 조절
}
- AudioManager.STREAM_ALARM : 알람 볼륨.
- AudioManager.STREAM_DTMF : DTMF 톤 볼륨.
- AudioManager.STREAM_MUSIC : 미디어 볼륨입.
- AudioManager.STREAM_NOTIFICATION : 알림 볼륨.
- AudioManager.STREAM_RING : 벨소리 볼륨.
- AudioManager.STREAM_SYSTEM : 시스템 볼륨.
- AudioManager.SYSTEM_VOICE_CALL : 음성 통화 볼륨.
또 다른 방법으로는 아래와 같이 키를 가로채서도 동작이 가능 합니다.
private AudioManager audio;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
audio = (AudioManager)getSystemService(Context.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_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
}
super.onKeyDown(keyCode, event);
return true;
}
댓글