0

I want to play a video in my ViewController(not in seperate ViewController). in another words, i want to play my video in a rectangular View in my viewController. just like instagram posts. but i didn’t found any view in object library for that...!

1 Answers1

3

You can try something like this

import AVKit

import AVFoundation

class VideoPlayerViewController: UIViewController {

@IBOutlet weak var videoPreviewLayer: UIView!
private var player: AVPlayer!
private var playerViewController = AVPlayerViewController()

override func viewDidLoad() {
    super.viewDidLoad()
    playVideoInView()
}

func playVideoInView() {
    guard let path = NSBundle.mainBundle().pathForResource("videoName", ofType: "mp4") else {
        return
    }

    let url = NSURL.fileURLWithPath(path)
    player = AVPlayer(url: url)
    playerViewController = AVPlayerViewController()
    playerViewController.player = player
    playerViewController.view.frame = videoPreviewLayer.frame
    self.addChildViewController(playerViewController)
    self.view.addSubview(playerViewController.view)
}

}

playVideoInView function has what you need

lionserdar
  • 2,022
  • 1
  • 18
  • 21