Playing a video file from a server in Swift
UPDATE 2019, Swift 4:
MPMovieControlStyle' was deprecated in iOS 9.0: Use AVPlayerViewController in AVKit.
So, following the advice, let's change it. Original answer from 2016 is below.
import UIKitimport AVKitimport AVFoundationclass ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) let url = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")! playVideo(url: url) } func playVideo(url: URL) { let player = AVPlayer(url: url) let vc = AVPlayerViewController() vc.player = player self.present(vc, animated: true) { vc.player?.play() } }}
The original answer:
import UIKitimport MediaPlayerclass VideoViewController: UIViewController { var moviePlayer:MPMoviePlayerController! override func viewDidLoad() { super.viewDidLoad() let url:NSURL = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v") moviePlayer = MPMoviePlayerController(contentURL: url) moviePlayer.view.frame = CGRect(x: 20, y: 100, width: 200, height: 150) self.view.addSubview(moviePlayer.view) moviePlayer.fullscreen = true moviePlayer.controlStyle = MPMovieControlStyle.Embedded }}
import AVKitimport AVFoundationclass VideoController: UIViewControlleroverride func viewDidLoad() { let videoURL = NSURL(string: "VideoUr") let player = AVPlayer(url: videoURL! as URL) let playerViewController = AVPlayerViewController() playerViewController.player = player self.present(playerViewController, animated: true) { playerViewController.player!.play() } }
Import the libraries:
import AVKitimport AVFoundationimport MediaPlayerimport AudioToolbox
Set delegaete like this
AVPlayerViewControllerDelegate
Wrtie pretty code where you want to play like button action:
let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4") let player = AVPlayer(url: videoURL!) let playervc = AVPlayerViewController() playervc.delegate = self playervc.player = player self.present(playervc, animated: true) { playervc.player!.play() }
100% working and test