Playing a video file from a server in Swift Playing a video file from a server in Swift ios ios

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