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...!
Asked
Active
Viewed 923 times
0
-
Please look at this answer: https://stackoverflow.com/a/31277658/3490203 – Daniyal Raza Nov 17 '18 at 14:26
-
thankyou verrrrrry much... – Hamidreza Karamooz Nov 17 '18 at 15:17
-
Possible duplicate of [How to play video with AVPlayerViewController (AVKit) in Swift](https://stackoverflow.com/questions/25932570/how-to-play-video-with-avplayerviewcontroller-avkit-in-swift) – Tamás Sengel Nov 18 '18 at 17:20
1 Answers
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