iphone播放视频

首先建一个基于视图的的项目命名为PlayVideo,并给项目中的Frameworks添加MediaPlayer.framework,如图所示:



加进去了以后,再给文件里添加一个视频文件video.m4v,注意扩展名,我先开始添加的视频文件的扩展名为mp4,结果一直播放的时候就是不播,所以我把视频转换成m4v扩展名就行了!

接下来是在PlayViewContrller.h文件:


[cpp]  view plain copy
  1. #import <UIKit/UIKit.h>  
  2. #import <MediaPlayer/MediaPlayer.h>  
  3. @interface PlayVideoViewController : UIViewController{  
  4.     MPMoviePlayerController *player;//控制视频播放  
  5. }  
  6.   
  7. @end  


然后是PlayViewController.m文件中添加代码实现:

[cpp]  view plain copy
  1. - (void)viewDidLoad  
  2. {  
  3.     //获取视频文件的名称  
  4.     NSString *url=[[NSBundle mainBundle]pathForResource:@"video" ofType:@"m4v"];  
  5.     //初始化player,文件是video.m4v  
  6.     player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];  
  7.     //然后,您使用的NSNotificationCenter类注册通知,这样当影片完成播放(即结束)的时候调用movieFinishedCallback:方法;  
  8.     [[NSNotificationCenter defaultCenter]  
  9.      addObserver:self selector:@selector(movieFinishedCallback:)  
  10.      name:MPMoviePlayerPlaybackDidFinishNotification object:player];  
  11.     //设置视频视图的大小  
  12.     player.view.frame = CGRectMake(10, 10, 300, 300);   
  13.     //添加控件  
  14.     [self.view addSubview:player.view];  
  15.     //播放影片  
  16.     [player play];  
  17.     [super viewDidLoad];  
  18. }  
  19. //电影停止播放时,你应该注销的通知,删除的影片,然后释放播放对象:  
  20. -(void)movieFinishedCallback:(NSNotification*) aNotification {  
  21.     MPMoviePlayerController *moviePlayer = [aNotification object];  
  22.     //注销通知  
  23.     [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];  
  24.     //删除影片  
  25.     [moviePlayer.view removeFromSuperview];  
  26.     //释放  
  27.     [player release];  
  28. }  

实现效果:


点击 右下角放大图标

双击屏幕变成全屏:

            


点击Done按钮恢复原状!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值