2010-11-19 4 views
4

Je développe une application sur iphone qui utilise MPMoviePlayerController pour lire un fichier audio. Lorsque l'application passe en arrière-plan, si mpmovieplayer est en cours de lecture, l'iphone continue de lire la musique en cours, mais à la fin, la piste suivante ne démarre pas. Je tente de démarrer le fichier audio suivant dans MPMoviePlayerPlaybackDidFinishNotification et quand je suis le code en utilisant le débogueur, je peux voir que la méthode est invoquée et le code exécuté, mais le fichier audio suivant ne démarre toujours pas.Problème multitâche MPMoviePlayerController

Est-ce possible sur iOS 4.1 ou est-ce une limitation?

Meilleures salutations Samantha

Répondre

2

Vous devriez lire les Technical Q&A QA1668: Comment lire des fichiers audio en arrière-plan avec MPMoviePlayerController.

Résumé des étapes nécessaires:

  • déclare que votre application prend en charge l'exécution d'arrière-plan assigner pour l'audio
  • une catégorie appropriée à votre session audio (catégorie par défaut n'est pas ok)
+0

Merci pour votre réponse, mais je sais déjà que Q & A et je peux effectivement jouer un fichier multimédia lorsque l'application est en arrière-plan. Mon problème survient lorsque le fichier se termine et que je dois en jouer un autre sans retourner à l'application. – Samantha

+0

Pourriez-vous donner plus de détails sur ce que vous avez fait? Peut-être du code? Cela aiderait à réduire la recherche. – Guillaume

+0

@Samantha: Avez-vous trouvé la solution à ce problème.S'il vous plaît poster la solution si oui car je suis également confronté à la même chose – Yogi

2

I le fait fonctionner en mettant après deux lignes dans le dossier de délégué:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; 
[[AVAudioSession sharedInstance] setActive: YES error: nil]; 
+0

où avez-vous mis cela? Cela ne fonctionne pas pour moi. –

+0

Notez que cela ne semble pas fonctionner sur le simulateur, mais sur l'appareil, il fonctionne - me confondre. – Andrew

+0

Génial, merci! Il suffit de mettre les lignes dans votre méthode de jeu, importer AVFoundation, et voilà. – brainray

0

peut-être vous oubliez d'ajouter ceci

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 
    }