2010-11-19 8 views
4

Ich entwickle eine Anwendung auf dem iPhone, die MPMoviePlayerController verwendet, um Audiodatei abzuspielen. Wenn die Anwendung im Hintergrund läuft, spielt der mpmovieplayer weiter, und das iPhone spielt weiterhin die aktuelle Musik ab, aber wenn sie endet, wird der nächste Titel nicht gestartet.MPMoviePlayerController Multitasking-Problem

Ich versuche, die nächste Audiodatei im MPMoviePlayerPlaybackDidFinishNotification zu starten und wenn ich den Code mit dem Debugger folgen kann ich sehen, dass die Methode aufgerufen wird und der Code ausgeführt wird, bittet die nächste Audiodatei immer noch nicht startet.

Ist dies auf iOS 4.1 möglich oder ist dies eine Einschränkung?

Mit freundlichen Grüßen Samantha

Antwort

2

sollten Sie die Technical Q&A QA1668 lesen: Wie Audio im Hintergrund mit MPMoviePlayerController spielen.

Zusammenfassung der Schritte erforderlich:

  • declare, die Ihre Anwendung Audio für Hintergrundausführung unterstützt
  • passende Kategorie, um Ihre Audio-Sitzung zuweisen (Standardkategorie ist nicht ok)
+0

Vielen Dank für Ihre Antwort hinzufügen vergessen, aber ich weiß schon, dass Q & A, und ich kann tatsächlich eine Mediendatei wiedergegeben, wenn die App im Hintergrund ist. Mein Problem tritt auf, wenn die Datei endet und ich eine andere wiedergeben muss, ohne zur Anwendung zurückzukehren. – Samantha

+0

Könnten Sie mehr Details darüber geben, was Sie getan haben? Vielleicht ein Code? Das würde helfen, die Suche zu reduzieren. – Guillaume

+0

@Samantha: Haben Sie die Lösung für dieses Problem bekommen.Bitte geben Sie die Lösung wenn ja, da ich auch auf die gleiche Sache bin – Yogi

2

I habe es funktioniert, indem ich folgende zwei Zeilen in die Delegierten-Datei setze:

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

wo hast du das hingelegt? das funktioniert nicht für mich. –

+0

Beachten Sie, dass dies auf dem Simulator nicht funktioniert, aber auf dem Gerät funktioniert es - verwirrt mich. – Andrew

+0

Brilliant, danke! Legen Sie einfach die Zeilen in Ihre Spielmethode, importieren Sie AVFoundation und los gehts. – brainray

0

können Sie dies in

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