J'essaie de faire une application mediaplayer simple à des fins personnelles/éducatives (lire un fichier mp3 spécifique) mais j'ai un problème avec d'autres applications. J'utilise les services pour jouer du son en arrière-plan. Tout fonctionne bien mais quand je tourne une autre application de médias je peux toujours jouer simultanément la chanson différente. Comment "dire" au système que mon application utilise mediaplayer et que personne ne peut utiliser mediaplayer jusqu'à la fin de mes services. J'utilise AudioManager STREAM_MUSIC et commence à jouer ma chanson quand je reçois AUDIOFOCUS_GAIN vérifié par AUDIOFOCUS_REQUEST_GRANTED.Comment empêcher MediaPlayer de démarrer dans d'autres applications
pour jouer ma musique et définir la notification de premier plan i utiliser
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
int result = audioManager.requestAudioFocus(this, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
if (AudioManager.AUDIOFOCUS_REQUEST_GRANTED == result) {
this.startForeground();
player.start();
}
Thx pour votre réponse, mais je cherche manière pour empêcher d'autres applications de gagner audiofocus pendant que mon application je cours. Lorsque mon application sur je veux avoir un gain audiofocus toujours toujours jusqu'à ce que je vais éteindre mon application (si une autre application commence à utiliser les médias ne reçoivent pas d'audiofocus et ne changent pas myaudiofocus) – pZCZ
D'accord, je n'ai aucune idée à ce sujet . Selon mes connaissances, AudioFocus ne peut pas être tenu par une application avec une haute priorité. Parce que AudioFocus est également utilisé par notification, selon vos besoins, vous voulez qu'aucune autre application, y compris appel ou notification, ne puisse utiliser audioFocus. Même je voudrais savoir la solution de ceci s'il y en a. S'il vous plaît laissez-moi savoir si vous avez trouvé une solution. –