在iOS9.0之前,使用的是MediaPlayer框架,有两种播放效果:一种是带界面的,一种是不带界面的
带界面的是使用到的类是MPMoviePlayerViewController,不带界面的是MPMoviePlayerController.
如果继续使用iOS9.0之前的类,则会报出的警告是:
/Users/09.视频播放器/09.视频播放器/ViewController.m:30:70: 'MPMoviePlayerViewController' is deprecated: first deprecated in iOS 9.0 - Use AVPlayerViewController in AVKit.
举例说明:
1. 带界面控制器,平时不太常用,因为会占据整个界面
// 加载资源
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Alizee_La_Isla_Bonita.mp4" withExtension:nil];
// 创建控制器
MPMoviePlayerViewController *pvc = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
// 弹出控制器
[self presentViewController:pvc animated:YES completion:nil];
2. 不带界面的控制器
// 1. 加载资源
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Alizee_La_Isla_Bonita.mp4" withExtension:nil];
// 2. 创建控制器
MPMoviePlayerController *playerC = [[MPMoviePlayerController alloc] initWithContentURL:url];
// 2.2 这样不能播放,需要强指针引用
self.playerC = playerC;
// 2.1 设置视图view大小并添加
playerC.view.frame = CGRectMake(100, 100, 300, 300);
[self.view addSubview: playerC.view];
// 3. 播放
[playerC play];
在iOS 9.0之后,苹果原生提供的框架是AVKit,和AVFoundation
// 1.创建控制器
AVPlayerViewController *AVPlayerVC = [[AVPlayerViewController alloc] init];
// 1.1强指针引用
self.AVPlayerVC = AVPlayerVC;
// 2.创建播放器
AVPlayerVC.player = [AVPlayer playerWithURL:url];
AVPlayerVC.view.frame = CGRectMake(10, 10, 300, 400);
[self.view addSubview:AVPlayerVC.view];
// 3.播放
[AVPlayerVC.player play];