Wie können Sie ein Video mit dem AV Kit Player View Controller in Swift abspielen?
override func viewDidLoad() {
super.viewDidLoad()
let videoURLWithPath = "http://****/5.m3u8"
let videoURL = NSURL(string: videoURLWithPath)
playerViewController = AVPlayerViewController()
dispatch_async(dispatch_get_main_queue()) {
self.playerViewController?.player = AVPlayer.playerWithURL(videoURL) as AVPlayer
}
}
AVPlayer
(ohne Steuerelemente) finden Sie in dieser Antwort .Antworten:
Swift 3.x - 5.x.
Notwendig: Import AVKit , Import AVFoundation
Das AVFoundation-Framework wird auch dann benötigt, wenn Sie AVPlayer verwenden
Wenn Sie AVPlayerViewController verwenden möchten :
oder einfach nur AVPlayer :
Es ist besser, diesen Code in die Methode einzufügen : überschreibe func viewDidAppear (_ animiert: Bool) oder irgendwo danach.
Ziel c
AVPlayerViewController :
oder einfach nur AVPlayer :
quelle
Versuchen Sie dies, funktioniert auf jeden Fall für
Swift 2.0
quelle
self.addChildViewController(playerController)
ist jetztself.addChild(playerController)
fyiVersuche dies
quelle
Swift 3.0 Vollständiger Quellcode:
quelle
Ziel c
Dies funktioniert nur in
Xcode 7
Gehen Sie zur
.h
Datei und importieren SieAVKit/AVKit.h
undAVFoundation/AVFoundation.h
. Gehen Sie dann zur.m
Datei und fügen Sie diesen Code hinzu:quelle
Verwenden von MPMoviePlayerController:
Verwenden von AVPlayer:
Ich habe eine Wiedergabetaste, um das Tippen auf die Taste zu handhaben.
Ich habe einen Beobachter hinzugefügt, der auf AVPlayerItemDidPlayToEndTimeNotification wartet.
Wenn die Video- / Audiowiedergabe beendet ist, setzen Sie das Bild und die Benachrichtigung der Schaltfläche zurück
quelle
ein Fehler (?!) in iOS10 / Swift3 / Xcode 8?
funktioniert nicht (leer rechts ...)
das funktioniert:
Gleiche URL ...
quelle
player.play()
nach:self.view.layer.addSublayer(playerLayer)
und versuche es erneutSwift 3:
quelle
AVPlayerViewController
?Das hat bei mir in Swift 5 funktioniert
Aktionsschaltflächen zum Abspielen von Videos von Website und Local mit dem folgenden schnellen Codebeispiel hinzugefügt
quelle
Swift 5
// hier enthält der Kurs eine Modelldatei, in der ich die URL angegeben habe, also rufe ich die Funktion vom Modell mit der Kursfunktion auf.
// auch IntroductionVideoUrl ist eine URL, die ich im Modell deklariert habe.
Alternativ können Sie auch den folgenden Code verwenden, anstatt die Funktion vom Modell aus aufzurufen
mit
quelle
quelle
Swift 5.0
Verbessert von @ingconti Antwort. Das hat bei mir funktioniert.
quelle
Swift 5+
Zunächst müssen Sie 2 Variablen global in Ihrem View Controller definieren.
Hier füge ich einer gewünschten Ansicht einen Player hinzu.
Fügen Sie dann der viewDidLoad- Methode den folgenden Code hinzu .
Wenn Sie Player und playerViewController nicht global definieren, können Sie Player nicht einbetten.
quelle