
视频播放有两种方法,一个是MPMoviePlayerController,虽然名字是controller,但是他继承自NSObject,并不是视图,他有一个view属性,可以设置大小.
另一个是视频播放视图控制器MPMoviePlayerViewController,弹出一个全屏的视频播放界面,不支持改变大小.
MPMoviePlayerController *movie=[[MPMoviePlayerController alloc]init];
_movie.contentURL=url;
_movie.view.frame=CGRectMake(0, 20, 375, 550);
//添加到窗口
[self.view addSubview:_movie.view];
//播放
[_movie play];
当视频播放完后,movie.view并不会自动移除.但是视频播放完后,系统会产生一个播放完毕通知,所以我们建立一个通知中心来获取.
//注册通知,检测视频是否播放完成
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(stopPlay) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
//通知方法
-(void)stopPlay
{
[_movie.view removeFromSuperview];
}
MPMoviePlayerViewController *playerViewController=[[MPMoviePlayerViewController alloc]initWithContentURL:url]; //将视频播放器界面模态弹出,并且自动播放 [self PResentViewController:playerViewController animated:YES completion:nil];
MPMoviePlayerViewController播放完毕后会自动弹出,不需要通知中心管理.
注:url为视频链接,两者都可以直接播放网络链接.