IOS上MediaPlayer framework实现视频播放
播放电影文件:
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并添加
在需要使用库的地方添加下面的代码:
- #import <MediaPlayer/MediaPlayer.h>
本项目名为MediaPlayerTest,源码如下:
VideoPlayerViewController.h 头文件代码:
- #import <UIKit/UIKit.h>
- #import <MediaPlayer/MediaPlayer.h>
- @interface ViewController : UIViewController
- {
- UIButton *playBtn;
- MPMoviePlayerController *moviePlayer;
- }
- @property (retain, nonatomic) IBOutlet UIButton *playBtn;
- @property (retain, nonatomic) MPMoviePlayerController *moviePlayer;
- - (IBAction)playVideo:(id)sender;
- @end
VideoPlayerViewController.m 实现文件代码:
- #import "ViewController.h"
- #import <MediaPlayer/MediaPlayer.h>
- @interface ViewController ()
- @end
- @implementation ViewController
- @synthesize playBtn;
- @synthesize moviePlayer;
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:
- [NSURL URLWithString:@"http://v.youku.com/player/getRealM3U8/vid/XNTY2MTAxOTUy/type/video.m3u8"]];
- self.moviePlayer.movieControlMode = MPMovieControlModeDefault;
- [self.moviePlayer.view setFrame:CGRectMake(0, 0, 320, 380)];
- // Do any additional setup after loading the view, typically from a nib.
- }
- - (void)didReceiveMemoryWarning
- {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- - (IBAction)playVideo:(id)sender
- {
- NSLog(@"Into playvideo.");
- [self.view insertSubview:[self.moviePlayer view] atIndex:10];
- [self.moviePlayer play];
- }
- @end
MainStoryboard.storyboard:
将ViewController的playBtn和IB的Button关联起来
将Button的Touch Up Inside事件和View Controller的playVideo操作关联起来
运行结果:
参考:
IOS 6编程-使用MPMoviePlayerController类实现视频播放器
IOS上MediaPlayer framework实现视频播放的更多相关文章
- iOS中 MediaPlayer framework实现视频播放 韩俊强的博客
iOS开发中播放音乐可以使用MPMusicPlayerController类来实现,播放视频可以使用MPMoviePlayerController和MPMoviePlayerViewControlle ...
- iOS使用Security.framework进行RSA 加密解密签名和验证签名
iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...
- 细数iOS上的那些安全防护
细数iOS上的那些安全防护 龙磊,黑雪,蒸米 @阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂.这对于刚接触iOS安全的研究人员来说非 ...
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
- 关于iOS上的静态库
最近再进行项目的真机调试,然后发现了一个天坑.就此研究了一些iOS上的静态库的使用: 首先我们是直接拿一个可以运行的项目来制作静态库的,网上大部分都是先创建静态库然后再写内容,看看我的方法. 1.把子 ...
- 在iOS上实现二维码功能
http://blog.csdn.net/abcmx/article/details/8011904 如今二维码随处可见,无论是实物商品还是各种礼券都少不了二维码的身影.而手机等移动设备又成为二维码的 ...
- ios上position:fixed失效问题
手机端上的猫腻真是多啊~~~ 此起彼伏! 最近又遇到了 固定定位的底部导航在ios上被弹出去 此时内心1w+个草泥马奔过~~~~~~~~ 直接上解决方案: <div class="ma ...
- :active 为什么在ios上失效
:active是针对鼠标,而手机上是没有鼠标,而是touchstart,所以早成了ios上不兼容 解决方法是: window.onload = function(){ document.body.ad ...
- 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯
---------------------------------------------------------------------------------------------------- ...
随机推荐
- Java文件实时监控Commons-io
今天看到一网友写的 Java 文件监控,实时监控文件加载 ,突然想到Commons-io中已有此功能的实现,先温习下 写个简单的Demo: 有三种方式: 1.java common.io 内部实 ...
- 自定义的Notification
要创建一个自定义的Notification,可以使用RemoteViews.要定义自己的扩展消息,首先要初始化一个RemoteViews对象,然后将它传递给Notification contentVi ...
- 打印二叉树中距离根节点为k的所有节点
package tree; public class Printnodesatkdistancefromroot { /** * Given a root of a tree, and an inte ...
- Java 泛型 四 基本用法与类型擦除
简介 Java 在 1.5 引入了泛型机制,泛型本质是参数化类型,也就是说变量的类型是一个参数,在使用时再指定为具体类型.泛型可以用于类.接口.方法,通过使用泛型可以使代码更简单.安全.然而 Java ...
- Objective-C 对象的类型与动态结合
创建: 2018/01/21 更新: 2018/01/22 标题前增加 [Objective-C] 完成: 2018/01/24 更新: 2018/01/24 加红加粗属性方法的声明 [不直接获取内部 ...
- 17年day3
/* 嗯,又一天. 时日无多了,还能蹦哒几天? 上午依旧考试,日常挂T1,读错题.还是好困. 兔子说明天晚上要请我们吃水饺~~~~去年就没这待遇. 下午打开邮箱一看,咦?嗯. 昨晚做噩梦NOIP考了状 ...
- 清北考前刷题day2下午好
#include<iostream> #include<cstdio> #include<cstring> #include<stack> #defin ...
- sql注入方法以及防范
sql注入方法: 1.数字注入 ; get请求 www.bobo.com?id=1 可以查出 ID等于1的一条数据. 如果有人在链接后面增加 www.bobo.com?id=1 or 1=1 / w ...
- $CF19A\ World\ Football\ Cup$
炒鸡\(6\)批的模拟题. 注意的是输入 把握好空格 大小写. 根据题目的这句话来排序 积分榜是按照以下原则制作的:胜利一个队得3分,平分1分,失败0分. 首先,球队按积分顺序排在积分榜上,分数相等比 ...
- vue开发环境和生产环境里面解决跨域的几种方法
什么是跨域 跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据.源指协议,端口,域名.只要这个3个中有一个不同就是跨域. 这里列举一个经典的列子: #协议跨域 http://a.baidu. ...