Hintergrund auf iOS4 eingeben, um Audio abzuspielen
Die Dokumentation ist eher schlecht geschrieben, wenn man über die audio-Wiedergabe im hintergrund. Es entsteht der Eindruck, dass alle Sie tun müssen, um weiterhin spielen die Audiodaten, die Sie derzeit spielen, ist es nur noch ein Schlüssel/Wert-paar der info.plist
Datei und wallah, es ist Magie.
Dies ist jedoch nicht der Fall. Zum Beispiel, wenn ich eine mp3, die 2 Minuten lang, natürlich die audio ist lang genug, um in der Lage sein zu spielen, nachdem ich auf den home-button zu senden, die meine app in den hintergrund. Die Sache ist, obwohl ich, dass die Schlüssel/Wert-paar in meinem info.plist
Datei, hält er die audio-und dann erneut spielen, sobald ich wechseln Sie zurück zur app.
Apple-Staaten, dass alle Rahmenbedingungen für die audio-Unterstützung von hintergrund-und der sound spielt weiter bis zu dem Punkt, dass es endet, und dann Apple-sperren Sie Ihre app.
So, meine Frage ist: Was tun Sie denn, ich bin fehlt? Ich habe auch um die Verwendung der neuen Delegierten irgendwie, oder rufen Sie die audio auf der applicationDidEnterBackground
? Zu mir, das würde keinen Sinn machen, da ich mich nicht den Status speichern (Sie haben für mich mit fast app switching) oder wirklich Handhabung etwas in den hintergrund, andere als die audio, die Sie sagen, soll behandelt werden automagisch.
InformationsquelleAutor der Frage iwasrobbed | 2010-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem einem Teil fehlt die Dokumentation, die Sie benötigen, um Ihre audio-Sitzung.
Hinzufügen, dass, und Sie werden gut zu gehen.
InformationsquelleAutor der Antwort Joshua Weinberg
Müssen Sie auch, um Anrufe zu tätigen, um beginBackgroundTaskWithExpirationhandler: bevor Sie beginnen ein Lied (tun es die ganze Zeit, ob im Vordergrund oder nicht) und endBackgroundTask, wenn es endet.
Dies sagt iOS, dass Sie in der Lage sein, um die Verarbeitung fortzusetzen, auch wenn Ihre app wird in den hintergrund gelegt. Ist es nicht eine neue Aufgabe zu erstellen oder den thread, es ist nur ein flag, um iOS -, dass Sie möchten, weiter zu laufen. Der Ton wird bis zur Fertigstellung ohne diese, aber wenn es abgeschlossen ist, wenn Sie wollen, starten Sie eine andere Spur, die Sie müssen in der Lage sein, um im hintergrund laufen.
Können Sie es verwenden, wie diese:
Beim starten einer audio-player speichern wir die bg-task-id:
Nun die audioPlayerDidFinishPlaying: der Rückruf wird immer noch auftreten, weil wir gesagt haben, iOS, dass wir tun, eine Aufgabe, die muss weitergehen, auch wenn wir bekommen in den hintergrund gelegt. Auf diese Weise erhalten wir den Rückruf und können beginnen, die nächste audio-Datei.
InformationsquelleAutor der Antwort progrmr