Jak odtwarzać wideo za pomocą kontrolera widoku odtwarzacza AV Kit w Swift?
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
(nie ma elementów sterujących), zobacz tę odpowiedź .Odpowiedzi:
Swift 3.x - 5.x
Konieczne: importuj AVKit , importuj AVFoundation
Framework AVFoundation jest potrzebny, nawet jeśli używasz AVPlayer
Jeśli chcesz użyć AVPlayerViewController :
lub po prostu AVPlayer :
Lepiej jest umieścić ten kod w metodzie: override func viewDidAppear (_ animated: Bool) lub gdzieś później.
Cel C
AVPlayerViewController :
lub po prostu AVPlayer :
źródło
Spróbuj tego, zdecydowanie działa
Swift 2.0
źródło
self.addChildViewController(playerController)
Teraz jestself.addChild(playerController)
FYISpróbuj tego
źródło
Swift 3.0 Pełny kod źródłowy:
źródło
Cel C
Działa to tylko w
Xcode 7
Przejdź do
.h
pliku i zaimportujAVKit/AVKit.h
iAVFoundation/AVFoundation.h
. Następnie przejdź do.m
pliku i dodaj ten kod:źródło
Korzystanie z MPMoviePlayerController:
Korzystanie z programu AVPlayer:
Mam przycisk odtwarzania do obsługi dotknięcia przycisku.
Dodałem obserwatora nasłuchującego AVPlayerItemDidPlayToEndTimeNotification.
Po zakończeniu odtwarzania wideo / audio zresetuj obraz przycisku i powiadomienie
źródło
błąd (?!) w iOS10 / Swift3 / Xcode 8?
nie działa (pusty prostokąt ...)
to działa:
Ten sam adres URL ...
źródło
player.play()
after:self.view.layer.addSublayer(playerLayer)
i spróbuj ponownieSwift 3:
źródło
AVPlayerViewController
?To zadziałało dla mnie w Swift 5
Dodano przyciski akcji do odtwarzania filmów z witryny internetowej i lokalnej z następującym przykładem szybkiego kodu
źródło
Szybki 5
// tutaj kurs zawiera plik modelu, wewnątrz niego podałem adres URL, więc wywołuję funkcję z modelu przy użyciu funkcji kursu.
// także wprowadzenieVideoUrl to adres URL, który zadeklarowałem w modelu.
Alternatywnie możesz również użyć poniższego kodu zamiast wywoływać funkcję z modelu
z
źródło
źródło
Swift 5.0
Ulepszone z @ingconti answer. To zadziałało dla mnie.
źródło
Swift 5+
Przede wszystkim musisz zdefiniować 2 zmienne globalnie w kontrolerze widoku.
Tutaj dodaję odtwarzacz do żądanego widoku.
Następnie dodaj następujący kod do metody viewDidLoad .
Jeśli nie definiujesz odtwarzacza i playerViewController globalnie, nie będziesz w stanie osadzić odtwarzacza.
źródło