1

The code below displays a video. It works perfect in swift 2 but in swift 3 xcode states that the MPMoivePlayerController code has been phased out. I just would like my video to be displayed in swift 3 like it was in swift 2.

import UIKit 
import AVFoundation
import AVKit
import MediaPlayer


class video: UIViewController {

var moviePlayer : MPMoviePlayerController!


   override func viewDidLoad() {
    super.viewDidLoad()


    let path = Bundle.main.path(forResource: "jxdo", ofType:"mp4")
    let url = URL(fileURLWithPath: path!)
    self.moviePlayer = MPMoviePlayerController(contentURL: url)
    if let player = self.moviePlayer {
        player.view.frame = CGRect(x: 67, y: 75, width: self.view.frame.size.width/2, height: self.view.frame.size.height / 5)
        player.view.sizeToFit()
        player.scalingMode = MPMovieScalingMode.aspectFit
        player.isFullscreen = false
        player.controlStyle = MPMovieControlStyle.default
        player.movieSourceType = MPMovieSourceType.file
        player.repeatMode = MPMovieRepeatMode.none

        self.view.addSubview(player.view)

1 Answers1

1

The MPMoviePlayerController has been deprecated and AVPlayerViewController should be used instead. See more on Apple's documentation page https://developer.apple.com/reference/mediaplayer/mpmovieplayercontroller

Also this thread might help in starting converting to the newer api: How to load MPMoviePlayerController contentUrl asynchronous when loading view?

Community
  • 1
  • 1