Embedding a local video into a UIView

2019-01-25 18:12发布

问题:

How to embed a local video into a UIView?

There is a similar question here: Embeding youtube video into a UIView/UIWebView however, it is in obj-c and uses youtube.

回答1:

You can use AVPlayer

import UIKit
import AVFoundation
import AVKit

class ViewController: UIViewController {

    var avPlayer: AVPlayer!

    override func viewDidLoad() {

        super.viewDidLoad()
        let filepath: String? = Bundle.main.path(forResource: "qidong", ofType: "mp4")
        let fileURL = URL.init(fileURLWithPath: filepath!)


        avPlayer = AVPlayer(url: fileURL)


        let avPlayerController = AVPlayerViewController()
        avPlayerController.player = avPlayer
        avPlayerController.view.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height)

//  hide show control
        avPlayerController.showsPlaybackControls = false
// play video

        avPlayerController.player?.play()
        self.view.addSubview(avPlayerController.view)
    }
}