swift4--使用MediaPlayer框架播放影片

在swift4中该方法已取消,代替方法后续再做更新


//
//右键点击项目文件夹,导入一个mp4文件
import UIKit
//导入媒体播放器框架,该框架允许你访问音频和视屏资源,它是音频和视频文件的播放器,无需控制它如何工作,但让你很容易处理音频或者视频文件
import MediaPlayer

class ViewController: UIViewController {

//    新建一个视频播放控制器属性,用于播放视频
//    在swift4中该方法已取消,代替方法后续再做更新
    var mediaPlayer:MPMoviePlayerController = MPMoviePlayerController()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        do{
//            获取视频文件所在路径
            let path = Bundle.main.path(forResource: "伊苏", ofType: "mp4")
//            将字符串转化为NSURL路径
            let movieUrl = URL(fileURLWithPath: path!)
//            对视频播放对象初始化,并加载指定的视频文件。
            mediaPlayer = MPMoviePlayerController(contentURL: movieUrl)
//            设置播放模式为全屏播放
            mediaPlayer.controlStyle = MPMovieControlStyle.fullscreen
//            设置播放窗口的大小,匹配视图控制器根视图
            mediaPlayer.view.frame = self.view.bounds
//            设置视频播放的开始时间
            mediaPlayer.initialPlaybackTime = -1
            
            self.view.addSubview(mediaPlayer.view)
            
//            添加一个通知,用来监听视频播放是否结束
            NotificationCenter.default.addObserver(self, selector: #selector(ViewController.movieFinished(notify:)), name: .MPMoviePlayerPlaybackDidFinish, object: mediaPlayer)
//            开始播放视频
            mediaPlayer.play()
        } catch{
            print(error)
//            获得视频播放控制器
            let player = notify_port_t()
            NotificationCenter.default.removeObserver(self, name: NSNotification.Name.MPMoviePlayerPlaybackDidFinish, object: player)
        }
    }
    
//    创建一个方法,用来响应视频播放的结束事件
    @objc func movieFinished(notify:NSNotification) {
        print("Movie ends.")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

猜你喜欢

转载自blog.csdn.net/weixin_41735943/article/details/81201037