Ich möchte einen Verweis auf die AVPlayer
-Instanz speichern können, die den Bildschirm bei der Wiedergabe von HTML-Videos im Vollbildmodus von eingebetteten Browsern übernimmt. Mein erster Ansatz war dies:
Es gibt jedoch immer Null zurück. Also versuche ich einen anderen Ansatz. Ich möchte entweder die Initialisierer- oder die play
-Methode von AVPlayer außer Kraft setzen, aber ich kann es anscheinend nicht tun, ohne Ziel-C-Selektorkonflikte zu bekommen.
Gibt es eine Möglichkeit, eine der Instanzmethoden von AVPlayer zu überschreiben, sodass ich einen Verweis auf self
speichern kann? Oder ist es nicht einmal ein AVPlayer?
Sie können Methoden aus einer Erweiterung nicht überschreiben. Genauer gesagt, der Compiler ermöglicht dies, aber es funktioniert nicht. Siehe diesen Thread: Methoden in Swift-Erweiterungen überschreiben
Sie sollten auch keine Unterklasse von AVPlayerViewController
erstellen.
Warum können Sie nicht einfach die Eigenschaft AVPlayerViewController
s player
in der Klasse lesen, die sie erstellt?
"Die wichtigsten Klassen, die zum Abspielen von Videoinhalten in diesem UIWebView verwendet werden, heißen MPAVController und UIMoviePlayerController". Sie können also die Instanz von AVPlayer nicht erhalten.
Bitte überprüfen Sie diese Frage: So erhalten Sie NSNotifications Von UIWebView eingebettete YouTube-Videowiedergabe für weitere Details.