5

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.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Hamza
  • 630
  • 9
  • 26

1 Answers1

14

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)
    }
}
Alan
  • 1,132
  • 7
  • 15
Abdelahad Darwish
  • 5,969
  • 1
  • 17
  • 35