3 votes

Comment mettre la musique en pause lorsque le téléphone sonne, que l'on reçoit un SMS, etc.

J'essaie de détecter les sons Android et de mettre en pause la musique de mon application (temporairement ou définitivement) pendant qu'ils font du bruit.

Ce code semble ne rien faire ( arrêter interrompt la musique et p écrit dans le journal), il n'est jamais appelé :

public class PollyPrissyPants extends Activity implements OnAudioFocusChangeListener {
    // Blah blah blah
    public void onAudioFocusChange(int mal) {
        p("--CHANGE!!!--" + mal);
        stop();
    }
    // Yada yada yada
}

Dois-je également l'installer ailleurs ? Est-ce que @Override est pertinent ?

Je n'ai pas essayé PhoneStateListener mais, si possible, je ne veux pas avoir à traiter séparément les appels téléphoniques, les alarmes, les notifications, les jeux, etc. J'utilise le vibreur pour l'instant mais c'est une mauvaise solution. Si on m'appelle, je dois répondre, puis aller rapidement à mon application et la mettre en pause.

2voto

Erich Douglass Points 21714

Vous devez enregistrer le OnAudioFocusListener avec le AudioManager :

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
audio.requestAudioFocus(this,
      AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

En this est une référence à la classe qui met en œuvre OnAudioFocusListener .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X