Изменить размер фонового видео - SWIFT - PullRequest
0 голосов
/ 14 мая 2019

Я создал фоновое видео в Swift.Но по любой причине видео является небольшим.Он не покрывает весь экран, как это должно быть.

Это результат на данный момент.Я пытаюсь охватить весь экран.

result

private func setupView()
{
    let path = URL(fileURLWithPath: Bundle.main.path(forResource: "mydogwalkvideo", ofType: ".mp4")!)

    let player = AVPlayer(url: path)

    let newLayer = AVPlayerLayer(player: player)
    newLayer.frame = self.videoView.frame
    self.videoView.layer.addSublayer(newLayer)
    newLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill //It's set to resize aspect to fill

    player.play()
    player.actionAtItemEnd = AVPlayer.ActionAtItemEnd.none


    NotificationCenter.default.addObserver(self, selector: #selector(ViewController.videoDidPlayToEnd(notification:)), name: NSNotification.Name(rawValue: "AVPlayerItemDidPlayToEndTimeNotification"), object: player.currentItem)

}

@objc func videoDidPlayToEnd(notification: Notification)
{
    let player: AVPlayerItem = notification.object as! AVPlayerItem
    player.seek(to: CMTime.zero)
}

Дополнительная информация:

Размер видеообычно 1920x1080

1 Ответ

2 голосов
/ 14 мая 2019

Необходимо обновить фрейм внутри метода viewDidLayoutSubviews

override func viewDidLayoutSubviews() {
    self.newLayer.frame = self.view.bounds
    self.videoView.frame = self.view.bounds
}
...