ユーザーがアラームを設定できるアプリに取り組んでいます。メディア プレーヤーを使用して警告音を再生しています。メディアの音量を 70% に設定したいと思います。これが私がやっている方法です。
@Override
protected void onResume(){
super.onResume();
mDbHelper.open();
AudioManager mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
originalVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); // we get the current volume from the system
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 70, 0);
mediaPlayer = MediaPlayer.create(getBaseContext(),R.raw.midi_sound);
mediaPlayer.setScreenOnWhilePlaying(true);
mediaPlayer.setLooping(true);// we set the sound to loop.
if(!mediaPlayer.isPlaying()){// if the media player is not playing , make it start
mediaPlayer.start();
}
}
ただし、音量は最大に設定されます。ユーザーはアプリの使用中にイヤホンを使用している可能性があり、最大音量で保護したくありません。音量を最大音量ではなく 70% に設定するにはどうすればよいですか?
注: onPause メソッドで音量を元の音量に戻します。