経緯
音が出るアプリでメディアの音量を調整したいのに着信音が変化してしまう。
そんなことってありますよね。
対応
音の出る画面のActivityで
setVolumeControlStream(AudioManager.STREAM_MUSIC);
これで大丈夫。ちゃんとメディア音量が変化するようになります。
あれ?効果音だけ大きい?
それはきっとSoundPoolのAudioAttributesがUSAGE_MEDIAになってないんじゃないかな?
AudioAttributes audioAttributes = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
audioAttributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_MEDIA)
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.build();
soundPool = new SoundPool.Builder().setAudioAttributes(audioAttributes).setMaxStreams(1).build();
} else {
//ロリポップより前のバージョンに対応するコード
soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
}