Размер видео воспроизведения до размера UIView - PullRequest
0 голосов
/ 15 марта 2019

У меня есть UIView, основанный на классе VideoPlayer. Когда я открываю видеофайл, он не «вписывается» в границы UIView. Это приводит к тому, что верх и низ находятся за пределами UIView и не могут видеть элементы управления воспроизведением.

Я попытался установить для параметра «Режим содержимого» значение «По размеру», «Соотношение сторон», «Заполнение аспектами» и т. Д., Но это не влияет.

Как мне сделать так, чтобы он «заполнял» UIView?

PlayerViewClass:

import AVFoundation
import AVKit

class PlayerViewClass: UIView {

    override static var layerClass: AnyClass{
        return AVPlayerLayer.self;
    }

    var playerLayer: AVPlayerLayer{
        return layer as! AVPlayerLayer
    }

    var player: AVPlayer?{
        get{
            return playerLayer.player
        }
        set{
            playerLayer.player = newValue
        }
    }
}

В моем основном классе ViewController.swift:

@IBOutlet weak var cameraView: PlayerViewlass!
    func getCacheDirectory () -> URL {
    // return the documents url
    let fm = FileManager.default
    let docsUrl = try! fm.url(for:.documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
    return docsUrl
}

func getFileURL() -> URL{
    // Get url of the file
    let path = getCacheDirectory()
    let filePath = path.appendingPathComponent("\(videoFileName)")
    return filePath
}

@IBAction func playVideoFile(_ sender: Any) {
    let path = getFileURL()
    let player = AVPlayer(url: path)
    cameraView.playerLayer.player = player
    cameraView.player?.play()
}

Screenshot

...