利用自带MPMoviePlayerController来实现视频播放,首先要在项目中导入MediaPlayer.Framework框架包。

在视图控制器中
#import "MediaPlayer/MPMoviePlayerController.h"
 
.m文件中,加入一下代码

- (void)viewDidLoad

{

[super viewDidLoad];

self.navigationController.navigationBar.hidden=YES;

//geomancy.jpg

UIImageView * nanshanImage=[[UIImageView alloc]initWithFrame:CGRectMake(0,0,1024,699)];

nanshanImage.image=[UIImage imageNamed:@"geomancy.jpg"];

[self.view addSubview:nanshanImage];

[nanshanImage release];

//播放视频按钮

UIButton* playButton= [[UIButton alloc]initWithFrame:CGRectMake(145, 250, 70, 80)];

[playButton addTarget:self action:@selector(PlayMovieAction:) forControlEvents:UIControlEventTouchUpInside];

playButton.backgroundColor=[UIColor redColor];

[self.view addSubview:playButton];

[playButton release];

}

-(void)PlayMovieAction:(id)sender{

// NSLog(@"PlayMovieAction====");

//视频文件路径,此视频已经存入项目包中。属于本地播放

NSString *path = [[NSBundle mainBundle] pathForResource:@"jinxiuMovie" ofType:@"mp4"];

//视频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];

}

-(void)myMovieFinishedCallback:(NSNotification*)notify

{

//视频播放对象

MPMoviePlayerController* theMovie = [notify object];

//销毁播放通知

[[NSNotificationCenter defaultCenter] removeObserver:self

name:MPMoviePlayerPlaybackDidFinishNotification

object:theMovie];

[theMovie.view removeFromSuperview];

// 释放视频对象,此对象由上面建立视频对象时候所alloc,在此做释放操作

[theMovie release];

// NSLog(@"视频播放完成");

}

本文转载至:http://blog.sina.com.cn/s/blog_945590aa0101bytk.html

最新文章

  1. X86 Booting Sequence
  2. Calculating Stereo Pairs
  3. JS中this关键字详解
  4. 浪潮MegaCli
  5. Android手机应用程序开发环境配置(Eclipse+Java+ADT)
  6. Bootstrap定制(一)less入门及编译
  7. 02_Weblogic课程之安装篇:RedHat下JDK安装,RedHat下Weblogic安装,目录结构,环境变量设置
  8. 潭州课堂25班:Ph201805201 tornado 项目 第十课 深入应用异步和协程(课堂笔记)
  9. 【原创】访问Linux进程文件表导致系统异常复位的排查记录
  10. pythone函数基础(7)第三方模块学习
  11. pair project elevator
  12. Linux 常用命令——cat, tac, nl, more, less, head, tail, od
  13. BZOJ 1002 - 轮状病毒 - [基尔霍夫矩阵(待补)+高精度]
  14. oracle undo redo 解析
  15. 鼠标悬浮控制元素隐藏与显示 - css中鼠标的hover状态
  16. Spring boot下添加filter
  17. C/C++注册动态对象到Lu系统并进行运算符重载
  18. 20172321 2017-2018-2 《Java程序设计》第二周学习总结
  19. jquery 属性选择器
  20. c++运行时决定数组大小 variable-length array

热门文章

  1. 一款简洁的纯css3代码实现的动画导航
  2. 【C#/WPF】.Net生成二维码QRCode的工具
  3. golang web开发获取get、post、cookie参数
  4. 【Hibernate步步为营】--核心对象+持久对象全析(二)
  5. MVC教程二:从控制器中获取URL的值
  6. .net垃圾回收
  7. 初学 Spring boot 报错 Whitelabel Error Page 404
  8. KBEngine 服务器端-loginapp-协议构建、解析执行详细介绍
  9. JPA多对多关联
  10. C++隐式转换与显式转换