Bagaimana Anda memutar video dengan AV Kit Player View Controller di 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
(tidak memiliki kontrol), lihat jawaban ini .Jawaban:
Swift 3.x - 5.x
Diperlukan: impor AVKit , impor AVFoundation
Kerangka AVFoundation diperlukan bahkan jika Anda menggunakan AVPlayer
Jika Anda ingin menggunakan AVPlayerViewController :
atau hanya AVPlayer :
Lebih baik memasukkan kode ini ke dalam metode: override func viewDidAppear (_ animated: Bool) atau di suatu tempat setelahnya.
Objektif-C
AVPlayerViewController :
atau hanya AVPlayer :
sumber
Coba ini, pasti berhasil
Swift 2.0
sumber
self.addChildViewController(playerController)
sekarangself.addChild(playerController)
fyiCoba ini
sumber
Swift 3.0 Kode sumber lengkap:
sumber
Tujuan c
Ini hanya berfungsi di
Xcode 7
Buka
.h
file dan imporAVKit/AVKit.h
danAVFoundation/AVFoundation.h
. Lalu buka.m
file dan tambahkan kode ini:sumber
Menggunakan MPMoviePlayerController:
Menggunakan AVPlayer:
Saya memiliki tombol putar untuk menangani ketukan tombol.
Saya telah menambahkan pengamat yang mendengarkan AVPlayerItemDidPlayToEndTimeNotification.
Ketika pemutaran video / audio selesai, atur ulang gambar tombol dan notifikasi
sumber
bug (?!) di iOS10 / Swift3 / Xcode 8?
tidak berfungsi (kotak kosong ...)
ini bekerja:
URL yang sama ...
sumber
player.play()
setelah:self.view.layer.addSublayer(playerLayer)
dan coba lagiSwift 3:
sumber
AVPlayerViewController
?Ini bekerja untuk saya di Swift 5
Tombol Aksi yang ditambahkan untuk memutar video dari Situs Web dan Lokal dengan contoh kode cepat berikut
sumber
Cepat 5
// di sini tentu saja termasuk file model, di dalamnya saya telah memberikan url, jadi saya memanggil fungsi dari model menggunakan fungsi saja.
// juga IntroductionVideoUrl adalah URL yang saya nyatakan di dalam model.
Selain itu, Anda dapat menggunakan kode di bawah ini alih-alih memanggil fungsi dari model
dengan
sumber
sumber
Swift 5.0
Ditingkatkan dari jawaban @conti. Ini berhasil untuk saya.
sumber
Swift 5+
Pertama-tama Anda harus mendefinisikan 2 variabel secara global di dalam pengontrol tampilan Anda.
Di sini saya menambahkan pemain ke tampilan yang diinginkan.
Kemudian tambahkan kode berikut ke metode viewDidLoad .
Jika Anda tidak mendefinisikan pemain dan playerViewController secara global, Anda tidak akan dapat menyematkan pemain.
sumber