Einstellen von AVPlayerLayer VideoGravity funktioniert auf dem Simulator, nicht auf dem iPad

8

Ich entwickle gerade einen Video-Player für Streaming-Inhalte mit dem AVPlayer-Framework. Ich bin über die VideoGravity String-Property des AVPlayerLayers gestolpert, mit der ich den Scaling / Resizing-Modus des Spielers auf verschiedene Werte einstellen konnte.

Um dem Benutzer die vom Standardplayer bekannten Skalierungsfunktionen zur Verfügung zu stellen, habe ich eine Methode eingerichtet, die den folgenden Code ausführen würde:

%Vor%

Das funktioniert sehr gut im Simulator, aber irgendwie nicht auf meinem iPad 2 mit iOS 5.0.1 installiert.

Hat jemand ähnliche Probleme erlebt? Ist das ein bekannter iOS Bug mit 5.0.1? Gibt es einen besseren Ansatz zur Skalierung / Größenanpassung mit AVPlayerLayer?

Irgendwelche Ideen / Tipps / Hilfe und Empfehlungen werden sehr geschätzt,

Danke,

Sam

    
samsam 23.03.2012, 09:30
quelle

2 Antworten

20

Das Setzen der Grenzen wird intern setNeedsLayout . Sie müssen dies selbst nennen, wenn Sie nur die Schwerkraft ändern. Ein Aufruf von setNeedsDisplay , um ein Re-Draw zu erzwingen, könnte auch nicht schaden, obwohl ich mir vorstelle, dass AVPlayerLayer den Inhalt des Layers so oft aktualisiert, dass es keine Rolle spielt.

EDIT: Dein Name ist doppelt so gut wie meiner!

    
Sam 29.03.2012, 20:23
quelle
4

Ich habe es schließlich geschafft, mein Problem zu beheben, indem ich die obige Anweisung durch folgendes ...

austauschte %Vor%

Das Festlegen der Grenzen der AVPlayerLayer an die Grenze der AVPlayerLayer schien den Trick zu leisten. obwohl ich nicht wirklich warum.

jedoch: hurray für die Arbeitslösung.

    
samsam 27.03.2012 12:56
quelle

Tags und Links