Ниже код не работает внутри метода OnCreate()
, но работает нормально при вставке кода вне области действия OnCreate()
. Зачем?
AudioManager.OnAudioFocusChangeListener aflist = new AudioManager.OnAudioFocusChangeListener() {
@Override
public void onAudioFocusChange(int focusChange) {
switch (focusChange) {
case AudioManager.AUDIOFOCUS_LOSS:
md.stop();
releaseMediaPlayer();
Toast.makeText(getApplicationContext(), "PERM_LOSS", Toast.LENGTH_SHORT).show();
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
// Temporary loss of audio focus - expect to get it back - you can keep your resources around
Toast.makeText(getApplicationContext(), "TEMP_LOSS", Toast.LENGTH_SHORT).show();
if (md.isPlaying()) {
md.pause();
}
break;
case AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK:
//Reduce the volume for few seconds
Toast.makeText(getApplicationContext(), "DUCK", Toast.LENGTH_SHORT).show();
setVolumeControlStream(AudioManager.ADJUST_LOWER);
break;
}
}
};