我正在使用MediaPlayer
播放声音,下面是我的代码
mediaPlayer = MediaPlayer.create(MainActivity.this, R.raw.sound);
mediaPlayer.setLooping(true);
mediaPlayer.setVolume(0.5f, 0.5f);
mediaPlayer.start();
MediaPlayer
播放给定音量中的声音,但可以使用硬件键增加或减少音量。无论用户使用硬件密钥保持什么音量,我想知道是否有办法保持mediaPlayer
的音量不变
提前致谢
答案 0 :(得分:1)
AFASIK Media Player不提供任何此类监听器。您需要覆盖按键事件以检查
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_DOWN) {
//TODO
}
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_DOWN) {
//TODO
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
MediaPlayer提供isPlaying
布尔值以了解正在使用的mediaPlayer,您可以将其与KeyPress事件结合使用。