原文摘自:http://blog.csdn.net/yhawaii/article/details/7601209
第一步:添加视频播放frameWork : MediaPlayer.framework
第二步:在ViewController中添加视频播放类的引用:
#import <MediaPlayer/MPMoviePlayerController.h>
第三步:编写方法实现视频播放和停止功能:
/**
@method 播放电影
*/
-(void)playMovie:(NSString *)fileName{
//视频文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"MOV"];
//视频URL
NSURL *url = [NSURL fileURLWithPath:path];
//视频播放对象
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
movie.controlStyle = MPMovieControlStyleFullscreen;
[movie.view setFrame:self.view.bounds];
movie.initialPlaybackTime = -1;
[self.view addSubview:movie.view];
// 注册一个播放结束的通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:movie];
[movie play];
}
#pragma mark -------------------视频播放结束委托--------------------
/*
@method 当视频播放完毕释放对象
*/
-(void)myMovieFinishedCallback:(NSNotification*)notify
{
//视频播放对象
MPMoviePlayerController *theMovie = [notify object];
//销毁播放通知
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie.view removeFromSuperview];
}
其它教程中关于视频播放的步骤:
一、Media Player框架
视频的播放比较复杂 ,正因为如此苹果将它们的处理完美的封装到了Media Player框架中。
要使用Media Player框架,需要在项目中加入MediaPlayer.framework框架,并在源代码中导入<MediaPlayer/MediaPlayer.h>。
二、MPMovePlayerViewControoler类
Media Player框架中包含MPMovePlayerController类。而从SDK3.2开始,MPMovePlayerViewController替代。
MPMovePlayerViewController使用通知模式通知观察者某些事件正在发生。观察者需要注意3个通知:
MPMovePlayerContentPreloadDidFinishNotification:文件已加载
MPMovePlayerPlaybackDidFinishNotification:重放已完成
MPMovePlayerScalingModeDidChangeNotification:缩放模式改变
三、播放视频的步骤
1.将要播放的文件以URL的形式封装
NSString* path=[[NSBundle mainBundle]pathForResource:Mov_FileofType:nil];
NSURL *url = [NSURL fileURLWithPath:path];
2.使用URL初始化MPMovePlayerViewController对象
player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
3.根据需求,使用通知模式通知观察者
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(fileLoaded:)
name:MPMediaPlaybackIsPreparedToPlayDidChangeNotification object:nil];
4.通过UIViewController(注意,非MPMovePlayerViewController)presentMoviePlayerViewControllerAnimated:方法即可播放视频
[self presentMoviePlayerViewControllerAnimated:player];
5.实现相关的事件监听方法
-(void)fileLoaded:(NSNotification *) notification {
NSLog(@"%s",__FUNCTION__);
}