2012-04-12 3 views
1

So habe ich die Dokumente gelesen und bin mir bewusst, dies: Multiple MPMoviePlayerControllers on iOS 3.2/4.0 (auch durch docs meine ich Apfel)Laden mehrere MPMoviePlayerControllers und sie richtig einstellen, ohne einen Absturz in den Leerlauf und verschwindende Kontrollen

und leider Debuggen ist die Hölle bc: Bootstrap Server Error in Xcode IPHONE

Also alle 5 oder so läuft, muss ich meinen Rechner neu starten.

Aber die Hauptfrage ist, ich lade viele Container (nur Ansichten). In diesen Containern könnte es etwas mit einem MPMoviePlayerController geben, den ich in eine benutzerdefinierte Klasse umgewandelt habe. Wie auch immer, es funktioniert, spielt Filme gut.

Zu jedem Zeitpunkt können bis zu drei von ihnen auf dem Bildschirm angezeigt werden. (Ich verwende Paging und entlade die weit entfernten). So ist es möglich, 3 Filme zu haben, die alle an heruntergeladene Daten angeschlossen sind.

Sie spielen, aber natürlich nur eins nach dem anderen. Kein Problem. Nur eine Ansicht ist aktiv.

Wenn die Ansicht eine "Seite" ändert (es ist ein UIScrollView), setze ich die "Außenseiter" manuell auf inaktiv. Im Wesentlichen ruft es "Stop" auf dem MPMoviePickerController auf. Dies stoppt es, aber ich kann nicht fortsetzen. Die Steuerelemente verschwinden buchstäblich und ich kann nicht weitermachen. (iOS Bug?)

Also rief ich stattdessen Pause. Gleiche Sache.

Ich gehe zurück, um es zu spielen, und es wird nicht spielen.

Hier ist ein lustiges, pausieren Sie und gehen Sie, um ein anderes zu spielen. Absturz. Etwas, bei dem das AVPlayerItem 2 nicht gleichzeitig abspielen kann. Ich habe eigene AV-Movie-Player programmiert, weil ich 2 Filme oder ähnliches brauche, um das wieder zu tun, wenn das nicht funktioniert. Anywho ... warum zwei Controller den gleichen Player verwenden, kann ich nur raten, dass Apple einen Singleton an einer wirklich schlechten Stelle benutzt.

Also, Apple Dokumentation eindeutig angibt, ich kann so viele wie ich will laden, aber nur eine spielen. Leider sagt es nicht, wie man sie richtig pausiert, weil die Kontrollen verschwinden.

Wer weiß, ob das ein Fehler ist? Oder gibt es etwas anderes als Pause und Halt, um es zu versuchen?

Ich werde wahrscheinlich auf die AV-Sachen zurückgreifen, wenn nicht. Jedenfalls, wenn nicht für die Neustarts, würde ich in diesem Moment eine Art von Lebenslauf-Zeug versuchen und versuchen, eine Antwort zu bekommen, anstatt nur eine Frage. Danke für irgendwelche Tipps/Vorschläge!

lässt jeder wissen, ob ich es finden

+0

Nur bemerkt: Die Steuerelemente verschwinden nur, wenn mehr als eins geladen ist. Selbst nach der Einstellung auf inaktiv bleiben die Steuerelemente sichtbar, wenn eine andere nicht vorhanden ist –

+1

Sie haben Recht mit Ihrer AVPlayer Singletontheorie - das ist ein allgemein verstandenes Gerücht. – Till

+0

Wenn man bedenkt, dass der Vollbildmodus aktiviert ist, kann ich sehen, warum jemand "denkt, dass er es eingibt", aber ich verstehe nicht, warum sie es tatsächlich getan haben, außer es sollte einen Absturz verursachen, wenn jemand 2 vollständige Screener machen würde. Jedenfalls habe ich es gelöst –

Antwort

0

Ok, so ist dies eine seltsame Art und Weise es zu lösen, im Wesentlichen die üblichen tun. Meine benutzerdefinierte Ansicht entlädt den gesamten Controller und setzt ihn auf null (es ist unmöglich, ohne Absturz zu testen, wenn Sie nicht auf Null setzen, selbst wenn Sie neu laden möchten).

Also, sobald meine Ansicht außerhalb des Bildschirms ist, sende ich es die "Entladen Sie sich selbst" Nachricht. Es speichert den Namen der URL, und wenn ich ihn aktiviere, wird er neu geladen und neu zugeordnet.

Alles scheint in Ordnung, leider weiß ich nicht, was ich tun würde, neben einem Overlay, wenn ich beide auf dem Bildschirm hatte. Das sieht wirklich nur glatt aus, weil meine Sachen außerhalb des Bildschirms sind.

Gelöst für diese Instanz. Ich kann jedem empfehlen, den AVPlayer zu benutzen.Es ist nicht zu schwer, nachdem Sie verstanden haben, mit layerClass die darunterliegende Ebene zu ändern, ein Element hinzuzufügen und daran zu denken, den Speicher ordnungsgemäß zu machen. Kopieren Apfel Beispielcode in der Dokumentation ...

und bereiten zu Chaos mit Seitenverhältnissen ...

Danke für die Kommentare!

Verwandte Themen