播放电影文件:

iOS sdk中可以使用MPMoviePlayerController来播放电影文件。但是在iOS设备上播放电影文件有严格的格式要求,只能播放下面两个格式的电影文件。

• H.264 (Baseline Profile Level 3.0)

• MPEG-4 Part 2 video (Simple Profile)
MPMoviePlayerController可以播放本地视频文件,也可以播放互联网上的视频文件。

首先在项目中需要引入Media Player 框架

项目-->Targets-->Build Phases-->Link Binary With Libraries

点击左下角的+号

找到MediaPlayer.framework并添加

在需要使用库的地方添加下面的代码:

  1. #import <MediaPlayer/MediaPlayer.h>

本项目名为MediaPlayerTest,源码如下:

VideoPlayerViewController.h 头文件代码:

  1. #import <UIKit/UIKit.h>
  2. #import <MediaPlayer/MediaPlayer.h>
  3. @interface ViewController : UIViewController
  4. {
  5. UIButton *playBtn;
  6. MPMoviePlayerController *moviePlayer;
  7. }
  8. @property (retain, nonatomic) IBOutlet UIButton *playBtn;
  9. @property (retain, nonatomic) MPMoviePlayerController *moviePlayer;
  10. - (IBAction)playVideo:(id)sender;
  11. @end

VideoPlayerViewController.m 实现文件代码:

  1. #import "ViewController.h"
  2. #import <MediaPlayer/MediaPlayer.h>
  3. @interface ViewController ()
  4. @end
  5. @implementation ViewController
  6. @synthesize playBtn;
  7. @synthesize moviePlayer;
  8. - (void)viewDidLoad
  9. {
  10. [super viewDidLoad];
  11. self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:
  12. [NSURL URLWithString:@"http://v.youku.com/player/getRealM3U8/vid/XNTY2MTAxOTUy/type/video.m3u8"]];
  13. self.moviePlayer.movieControlMode = MPMovieControlModeDefault;
  14. [self.moviePlayer.view setFrame:CGRectMake(0, 0, 320, 380)];
  15. // Do any additional setup after loading the view, typically from a nib.
  16. }
  17. - (void)didReceiveMemoryWarning
  18. {
  19. [super didReceiveMemoryWarning];
  20. // Dispose of any resources that can be recreated.
  21. }
  22. - (IBAction)playVideo:(id)sender
  23. {
  24. NSLog(@"Into playvideo.");
  25. [self.view insertSubview:[self.moviePlayer view] atIndex:10];
  26. [self.moviePlayer play];
  27. }
  28. @end

MainStoryboard.storyboard:

将ViewController的playBtn和IB的Button关联起来

将Button的Touch Up Inside事件和View Controller的playVideo操作关联起来

运行结果:

参考:

IOS 6编程-使用MPMoviePlayerController类实现视频播放器

iOS开发之多媒体播放

简单iPhone视频播放器

IOS上MediaPlayer framework实现视频播放的更多相关文章

  1. iOS中 MediaPlayer framework实现视频播放 韩俊强的博客

    iOS开发中播放音乐可以使用MPMusicPlayerController类来实现,播放视频可以使用MPMoviePlayerController和MPMoviePlayerViewControlle ...

  2. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  3. 细数iOS上的那些安全防护

    细数iOS上的那些安全防护  龙磊,黑雪,蒸米 @阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂.这对于刚接触iOS安全的研究人员来说非 ...

  4. 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析

    作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...

  5. 关于iOS上的静态库

    最近再进行项目的真机调试,然后发现了一个天坑.就此研究了一些iOS上的静态库的使用: 首先我们是直接拿一个可以运行的项目来制作静态库的,网上大部分都是先创建静态库然后再写内容,看看我的方法. 1.把子 ...

  6. 在iOS上实现二维码功能

    http://blog.csdn.net/abcmx/article/details/8011904 如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影.而手机等移动设备又成为二维码的 ...

  7. ios上position:fixed失效问题

    手机端上的猫腻真是多啊~~~ 此起彼伏! 最近又遇到了 固定定位的底部导航在ios上被弹出去 此时内心1w+个草泥马奔过~~~~~~~~ 直接上解决方案: <div class="ma ...

  8. :active 为什么在ios上失效

    :active是针对鼠标,而手机上是没有鼠标,而是touchstart,所以早成了ios上不兼容 解决方法是: window.onload = function(){ document.body.ad ...

  9. 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯

    ---------------------------------------------------------------------------------------------------- ...

随机推荐

  1. 如何让aboboo 便携版在citrix下使用(aboboo在IPAD上使用)aboboo苹果版

    公司使用的是citrix的共享虚拟桌面.如何可以让aboboo在其下面运行呢? 网上有提供绿色版,但是总是弹出首次配置无法安装的报错界面. 察看帮助文档:http://www.aboboo.com/d ...

  2. HDU 5979 Convex【计算几何】 (2016ACM/ICPC亚洲区大连站)

    Convex Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Subm ...

  3. [RK3288][Android6.0] 调试笔记 --- 如何确认声卡是否注册成功【转】

    本文转载自:http://blog.csdn.net/kris_fei/article/details/78399875 Platform: RK3288 OS: Android 6.0 Kernel ...

  4. ModuleNotFoundError: No module named 'cStringIO'

    这是2.x转3.x问题: 2.x写法: import cStringIO 3.x写法: from io import StringIO 问题解决.

  5. JSP-Runoob:JSP简介

    ylbtech-JSP-Runoob:JSP简介 1.返回顶部 1. JSP 简介 什么是Java Server Pages? JSP全称Java Server Pages,是一种动态网页开发技术.它 ...

  6. 采用jq链(end方法和andSelf()方法)

    end()方法: <style type="text/css"> .m1{background:#09C;} .m2{border:1px solid #000;} & ...

  7. hdu1213 并查集不压缩

    题意:题意:一个人请人吃饭,相互认识的朋友在一张桌子,相互认识的朋友的意思是如果A认识B,B认识C,那么A.B.C是朋友,对于每组输入输出桌子的张数. Sample Input 2 5 3 1 2 2 ...

  8. bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通【记忆化搜索】

    震惊!记忆化搜索忘记返回map值调了半小时! 边(u,v)的经过次数是:能到u的牛数*v到n的方案数.正反两次连边,dfs两次即可 #include<iostream> #include& ...

  9. [App Store Connect帮助]三、管理 App 和版本(6.3)转让 App:发起 App 转让

    在发起前,您需要接收者组织中“帐户持有人”的 Apple ID,并且满足 App 转让的条件.请前往 App 转让条件. 注:App 转让完成后,该 App 会从您的帐户中移除,因此,您应当备份该 A ...

  10. [Swift通天遁地]一、超级工具-(19)制作六种别具风格的动作表单

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...