我注意到,无论我设置手机的音量如何,我的应用程序中单击按钮的声音都保持不变,我该如何将其与手机的系统音量同步?这是我使用的代码格式
Mediaplayer buttonSoundClick;
buttonClickSound = MediaPlayer.create(this, R.raw.button_click_sound);
buttonClickSound.start();
buttonClickSound = MediaPlayer.create(this, R.raw.button_click_sound);
} private void prepareAsync() {
buttonClickSound.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
@Override
public void onClick(View v) {
//Button Click Sound
buttonClickSound.start();
答案 0 :(得分:0)
Android针对不同的流类型具有不同的音量级别。
覆盖onKeyDown()
并添加以下代码。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
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;
default:
return false;
}
}
在此之后,尝试使用流类型来使其适合您的应用。可用的流类型是:
AudioManager.STREAM_MUSIC
AudioManager.STREAM_RING
AudioManager.STREAM_ALARM
AudioManager.STREAM_SYSTEM
AudioManager.STREAM_NOTIFICATION
或强>
您可以使用MediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC)
购买时,您必须在prepare()
或prepareAsync()
之前调用此方法,以便目标流类型此后生效。