4 votes

AVAudioPlayer cesse de jouer l'audio lorsque l'iPhone passe en veille.

Je dois jouer en permanence un son de fond tant que mon application est en cours d'exécution. J'ai essayé d'utiliser AVAudioPlayer à cette fin. Cependant, cela arrête de jouer le son dès que l'iPhone passe en mode veille.

Pouvez-vous me dire comment je peux résoudre ce problème?

Merci

5voto

allenporter Points 213

Vous devrez peut-être définir une catégorie de session audio. Du "Guide de programmation des applications iPhone"

Une catégorie est une clé qui identifie un ensemble de comportements audio pour votre application. En définissant une catégorie, vous indiquez vos intentions audio à iPhone OS, comme si votre audio doit continuer lorsque l'écran est verrouillé.

Les détails sur chaque catégorie sont répertoriés à "Catégories de sessions audio"

4voto

leviathan Points 5207

Dans votre exemple particulier, vous pouvez essayer ce qui suit. Cela devrait fonctionner immédiatement.

// Enregistre cette classe en tant que délégué de la session audio. 
[[AVAudioSession sharedInstance] setDelegate: self];    
// Permet au son de l'application de continuer à jouer lorsque l'écran est verrouillé. 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

1voto

Mashhadi Points 1215

Bien cette solution peut également être utile

    [[AVAudioSession sharedInstance] setDelegate: self]; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[[AVAudioSession sharedInstance] setActive: YES error: nil];

référencé à http://www.mindyourcode.com/ios/iphone/how-to-play-audio-in-iphone-sleep-mode/

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