在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.
}
}