アラーム音を可能な限り最大の音量で再生することをユーザーが選択できるようにしたいと考えています。
このためには、メディアの音量を最大に設定し、アラームを再生して、音量を元の状態に戻す必要があります。
テストのために、このonClick
イベントのボタンがあります:
public void playAlarm(View view) {
AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int currentVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
audio.setStreamVolume(AudioManager.STREAM_MUSIC, audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
MediaPlayer mediaPlayer = MediaPlayer.create(view.getContext(), R.raw.alarm);
mediaPlayer.start();
audio.setStreamVolume(AudioManager.STREAM_MUSIC, currentVolume, AudioManager.FLAG_PLAY_SOUND);
}
アラーム音は最大音量ではなく、元の音量で再生されます。
私は何を間違っていますか?