2015-11-12 5 views
7

Ich setze n avplayer innerhalb eines View-Controllers, um einige andere Elemente des View-Controllers anzupassen, aber ich möchte immer noch die Wiedergabe- und Scrubbing-Bedienelemente in AVPlayerViewController verwenden. Gibt es eine Möglichkeit, diese Steuerelemente für den Avplayer zu aktivieren, wenn ich den AvPlayerViewcontroller nicht verwende?AVPlayer mit Wiedergabesteuerung von avplayerviewcontroller

+0

Hey, hast du die Lösung bekommen. Ich füge AVPlayerViewController als untergeordneten Ansicht-Controller hinzu und behalte den Rahmen benutzerdefiniert. Aber die Steuerelemente wie Play, Pause, Scrubbing usw. sind nicht sichtbar. Bitte helfen Sie. – Ruchi

Antwort

20

Nein. Die übliche Lösung (explizit von Apple empfohlen) ist die Verwendung des AVPlayerViewControllers als eingebetteten View-Controller - dh, Ihren View-Controller zu einem benutzerdefinierten übergeordneten View-Controller und den AVPlayerViewController zu seinem Kind, und jetzt können Sie seine Ansicht platzieren (der Film und die Steuerelemente) in Ihrer Ansicht als Subview in guter Ordnung. Beispiel (aus meinem Buch; self ist Ihr View-Controller):

let url = // whatever 
let player = AVPlayer(URL:url) 
let av = AVPlayerViewController() 
av.player = player 
av.view.frame = // whatever 
self.addChildViewController(av) 
self.view.addSubview(av.view) 
av.didMoveToParentViewController(self) 
+0

Während dies funktioniert, wird Xcode Fehler wie folgt anzeigen: Constraints gleichzeitig nicht erfüllen können. Es scheint, als wäre das Problem mit der automatischen Wiedergabe von Wiedergabesteuerelementen in AVPlayerViewController. Glauben Sie, das ist ein Fehler. – JSNoob

+0

@JSNoob Achten Sie darauf, solche Meldungen an Apple zu melden: http://bugreport.apple.com – matt

+0

kann das avplayerviewcontroller-Objekt in swift 3.0 nicht erstellen – RaviJSS

Verwandte Themen