Vous pouvez utiliser différentes catégories pour ce faire:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
...
// allows you to play when the screen is locked and also when the ringer is set to silent
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error:nil];
...
}
Si vous voulez continuer à jouer le son sur iOS4 lorsque votre application est suspendu dans l'arrière-plan (par exemple, l'utilisateur clique sur le bouton d'accueil) , alors vous devez également ajouter à votre fichier info.plist
(ce qu'il montre en mode texte brut):
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
Par ailleurs, si jamais vous vraiment besoin pour gérer une interruption comme votre quête titre d'ions dit (comme un appel téléphonique, etc.), il existe une méthode de délégué pour que dans le AVAudioPlayer
class:
- (void) audioPlayerBeginInterruption: (AVAudioPlayer *) player { }
et
- (void) audioPlayerEndInterruption: (AVAudioPlayer *) player { }
J'essaie le code pour éviter l'interruption du mode veille, il fonctionne mais maintenant j'ai le problème avec l'interruption quand l'appel ou le sms vient sur l'iphone la chanson est arrêtent bien à ce moment là. Là où la chanson est arrêtée je veux commencer la chanson automatiquement quand l'appel est fin. s'il vous plaît aidez-moi ici merci d'avance – Harish
Je vous ai déjà dit dans la réponse .. Il existe des méthodes de délégué qui sont appelés où vous pouvez surveiller les interruptions réelles. Utilisez-les et appelez '[player play];' pendant l'interruption de la fin. – iwasrobbed
Génial, parmi toutes les questions/réponses sur SO sur AvAudioSession et la lecture pendant le sommeil, votre réponse était celle qui a mentionné le morceau critique - le paramètre info.plist. Merci! – Leddo