MPMoviePlayerViewController 是播放视频的类,他是一个viewController,继承自UIViewController 同时又是UIViewController的类别。视频播放时候会全屏,
里面有两个关键函数
启动视频播放视图
- (void)presentMoviePlayerViewControllerAnimated:(MPMoviePlayerViewController *)moviePlayerViewController;
关闭视频播放视图
- (void)dismissMoviePlayerViewControllerAnimated;
示例代码
@interface ViewController :UIViewController
@property (nonatomic,strong)MPMoviePlayerViewController* playerViewController;
//播放本地视频
-(IBAction) playLocalVideo:(id)sender
{
NSString * resPath = [[NSBundlemainBundle] resourcePath];
NSString * filePath = [resPath stringByAppendingPathComponent:@"Movie.m4v"];
//根据本地文件构造NSURL
NSURL * fileUrl = [NSURLfileURLWithPath:filePath];
playerViewController = [[MPMoviePlayerViewControlleralloc]initWithContentURL:fileUrl];
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(moviePlayerDidFinish:)name:MPMoviePlayerPlaybackDidFinishNotificationobject:[playerViewControllermoviePlayer]];
[selfpresentMoviePlayerViewControllerAnimated:playerViewController];// 为何是self呢,因为MPMoviePlayerViewController是UIViewController的类别。
}
//播放网络视频
-(IBAction) playOnlineVideo:(id)sender
{
// NSString * resPath = [[NSBundle mainBundle] resourcePath];
//注意这里构造函数与本地的不同 URLWithString
NSURL * fileUrl = [NSURLURLWithString:@"http://192.168.1.100/~g7t2fi7/Movie.m4v"];
playerViewController = [[MPMoviePlayerViewControlleralloc]initWithContentURL:fileUrl];
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(moviePlayerDidFinish:)name:MPMoviePlayerPlaybackDidFinishNotificationobject:[playerViewControllermoviePlayer]];
[selfpresentMoviePlayerViewControllerAnimated:playerViewController];
}