iphone播放视频

来源:未知 责任编辑:智问网络 发表时间:2013-10-07 00:58 点击:
首先建一个基于视图的的项目命名为PlayVideo,并给项目中的Frameworks添加MediaPlayer.framework,如图所示:

\


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

接下来是在PlayViewContrller.h文件中添加属性:

MPMoviePlayerController *player;//控制视频播放

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

[cpp] - (void)viewDidLoad 

    //获取视频文件的名称  
    NSString *url=[[NSBundle mainBundle]pathForResource:@"video" ofType:@"m4v"]; 
    //初始化player,文件是video.m4v  
    player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]]; 
    //然后,您使用的NSNotificationCenter类注册通知,这样当影片完成播放(即结束)的时候调用movieFinishedCallback:方法;  
    [[NSNotificationCenter defaultCenter] 
     addObserver:self selector:@selector(movieFinishedCallback:) 
     name:MPMoviePlayerPlaybackDidFinishNotification object:player]; 
    //设置视频视图的大小  
    player.view.frame = CGRectMake(10, 10, 300, 300);  
    //添加控件  
    [self.view addSubview:player.view]; 
    //播放影片  
    [player play]; 
    [super viewDidLoad]; 

//电影停止播放时,你应该注销的通知,删除的影片,然后释放播放对象:  
-(void)movieFinishedCallback:(NSNotification*) aNotification { 
    MPMoviePlayerController *moviePlayer = [aNotification object]; 
    //注销通知  
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer]; 
    //删除影片  
    [moviePlayer.view removeFromSuperview]; 
    //释放  
    [player release]; 

- (void)viewDidLoad
{
    //获取视频文件的名称
    NSString *url=[[NSBundle mainBundle]pathForResource:@"video" ofType:@"m4v"];
    //初始化player,文件是video.m4v
    player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
    //然后,您使用的NSNotificationCenter类注册通知,这样当影片完成播放(即结束)的时候调用movieFinishedCallback:方法;
    [[NSNotificationCenter defaultCenter]
     addObserver:self selector:@selector(movieFinishedCallback:)
     name:MPMoviePlayerPlaybackDidFinishNotification object:player];
    //设置视频视图的大小
    player.view.frame = CGRectMake(10, 10, 300, 300);
    //添加控件
    [self.view addSubview:player.view];
    //播放影片
    [player play];
    [super viewDidLoad];
}
//电影停止播放时,你应该注销的通知,删除的影片,然后释放播放对象:
-(void)movieFinishedCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *moviePlayer = [aNotification object];
    //注销通知
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
    //删除影片
    [moviePlayer.view removeFromSuperview];
    //释放
    [player release];
}

实现效果:

  
 
点击右下角放大图标
 
双击屏幕变成全屏:
            
点击Done按钮恢复原状!!!
ok!实现!本博客是我自己的练习,有好多地方没有讲太清楚,还请谅解!
 


摘自 任海丽(3G/移动开发)

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • UITableView一些方法
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1