2010-08-14 2 views
0

J'ai un problème avec AVAudioPlayer dans l'iphone quand jamais mon ipod est verrouillé (sommeil) la chanson est arrêtée. Ce que j'ai fais dans le codage pour faire de la musique est continue, même si l'ipod est verrouillé (dormir) . s'il vous plaît aidez-moicomment gérer l'interruption dans l'iphone

Je suis totalement nouveau dans ce domaine.

Répondre

2

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 { } 
+0

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

+0

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

+0

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

Questions connexes