Невозможно показать массив видео с помощью AVplayer - PullRequest
0 голосов
/ 14 июня 2019

У меня есть URL-адрес видео, которое я должен показать в виде таблицы. когда я нажму на любую ячейку, она перейдет в подробный вид, где видео будет воспроизводиться с использованием AVPayer. как только видео закончится, будет воспроизведено следующее видео. когда я запускаю код, это видео воспроизводится один за другим. Я получаю только звук и видео в качестве неподвижного изображения. когда воспроизводится видео nex, только изображение меняется на другое изображение. на экране нет видео.

Как показать все воспроизводимое видео на экране?

class DetailView: UIViewController {

@IBOutlet weak var videoView: UIView!

var playerLayer: AVPlayerLayer!
var videoObject = [VideoData]()
private let vplayer = AVQueuePlayer()

override func viewDidLoad() {
    super.viewDidLoad()


    videoPlayerView.player = vplayer
    addAllVideosToPlayer()
}


private func addAllVideosToPlayer() {
    for video in videoObject {

        guard let urlString = try? URL(string: video.url) else{return}
        print(video.url)
        let asset = AVURLAsset(url: urlString)
        let item = AVPlayerItem(asset: asset)
        vplayer.insert(item, after: vplayer.items().last)
        playerLayer = AVPlayerLayer(player: vplayer)
        videoView.layer.addSublayer(playerLayer)

    }
}
override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    playerLayer.frame = videoView.bounds
}

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    vplayer.play()

}
}
...