博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视频播放器
阅读量:5824 次
发布时间:2019-06-18

本文共 2723 字,大约阅读时间需要 9 分钟。

//  RootViewController.m#import "RootViewController.h"#import 
#define PATH @"http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"@interface RootViewController (){ //创建视频播放器 MPMoviePlayerController * player;}@end@implementation RootViewController-(void)createBtn{ UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(100, 100, 100, 100); [btn setTitle:@"本地播放" forState:UIControlStateNormal]; [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside]; btn.tag=1; [self.view addSubview:btn]; UIButton * btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; btn1.frame = CGRectMake(100, 200, 100, 100); [btn1 setTitle:@"网络播放" forState:UIControlStateNormal]; [btn1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; btn1.tag=2; [btn1 addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn1]; UIButton * btn2 = [UIButton buttonWithType:UIButtonTypeCustom]; btn2.frame = CGRectMake(100, 300, 100, 100); [btn2 setTitle:@"返回" forState:UIControlStateNormal]; [btn2 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; btn2.tag=3; [btn2 addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn2];}-(void)pressBtn:(id)sender{// <1>找到要播放的视频的路径 NSString * path = [[NSBundle mainBundle] pathForResource:@"xiatianweidao" ofType:@"mp4"];// <2>将字符串路径转化成NSURL// NSURL * url = [NSURL fileURLWithPath:path]; UIButton *btn =(UIButton*)sender; NSURL * url=nil; if (btn.tag==2) { url = [NSURL URLWithString:PATH]; } else if (btn.tag==1){ url = [NSURL fileURLWithPath:path]; } else { [self finishPlaying:nil]; } //<3>初始化视频播放器 player = [[MPMoviePlayerController alloc]initWithContentURL:url]; //视频播放器 是一个视图控制器 上面有一个自带的视图 所以此处需要设置一些视图的大小 //<4>设置视图的大小 player.view.frame = CGRectMake(0, 100, 320, 200); //<5>将player上的视图添加在当前视图上 [self.view addSubview:player.view]; //<6>视频播放器没有协议 所有视频播放器的一些操作必须借助通知中心完成 传递的数据信息 都是一些固定的字符串 //通知是由视频播放器发送 当前的视图控制器作为通知的观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(finishPlaying:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; //<7>准备播放视频 //将视频放在缓存中 这样做防止播放的时候出现卡顿的现象 [player prepareToPlay];}-(void)finishPlaying:(NSNotification *)notification{ [player.view removeFromSuperview];}- (void)viewDidLoad{ [super viewDidLoad]; [self createBtn];}

转载于:https://www.cnblogs.com/sayimba/p/5711950.html

你可能感兴趣的文章
java 连接数据库之一个完整的函数
查看>>
centos5.6下virtualbox安装手记
查看>>
mysql脚本
查看>>
OllyDBG 入门系列教学--让你瞬间成为破解高手
查看>>
jQuery插件开发的准备
查看>>
Dubbo点滴(2)之集群容错
查看>>
Zend Framework 自动加载类的实现方法
查看>>
使用Logrotate来管理系统日志
查看>>
机房管理系列之机房温湿度
查看>>
【PMP】Head First PMP 学习笔记 第七章 成本管理
查看>>
全球众多IT巨头竞相抢占云计算市场
查看>>
这台人形机器人曾登上时尚杂志封面 最近还参加了联合国大会
查看>>
mysql源码安装
查看>>
APNS MySQL Tables
查看>>
CEGUI中回车键,退格键的响应
查看>>
Double Kill!何恺明包揽全部两项最佳论文奖!清华北航上交论文活跃度名列前十...
查看>>
任正非:将打造华为统一的AI平台,2018首先在GTS部署
查看>>
货车帮CTO冯亮:利用阿里云服务,发展物流产业互联网
查看>>
iOS代码规范
查看>>
阿里云助艾尔肯实现维吾尔族音乐梦
查看>>