Abilita audio di sfondo

Per abilitare la riproduzione audio quando l’app è in background, l’app deve chiamare enableAudioPlaybackInBackground API di MediaPlayer con argomento true come quando il lettore è nello stato PREPARATO.

_mediaPlayer.enableAudioPlaybackInBackground(true);

L’app deve mettere in pausa la riproduzione quando perde lo stato di attivazione audio durante eventi come la risposta al telefono, ecc. Il seguente frammento di codice illustra come implementare OnAudioFocusChangeListener:

/**
 * Register the AudioFocus Change listener to track Audio focus from device.
 */
 AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener(){
     @Override
     public void onAudioFocusChange(int focusChange){
          switch(focusChange){
               case AudioManager.AUDIOFOCUS_GAIN:
                    break;
               case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
                    /* lower output volume*/
                    break;
               case AudioManager.AUDIOFOCUS_LOSS:
               case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
                    if(_lastKnownStatus ==MediaPlayerStatus.PLAYING)
                         _mediaPlayer.pause();
                    break;
          }
     }
};

AudioManager audioManager = (AudioManager) getActivity().getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
audioManager.requestAudioFocus(onAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

In questa pagina