iOS 视频相关
2016-04-14 11:47
627 查看
视频代码
import “playViewController.h”@interfaceplayViewController ()
@end
@implementation playViewController
- (void)viewDidLoad {
[superviewDidLoad]; self.view.backgroundColor=[UIColorwhiteColor]; UIButton *videoPlayer = [UIButtonbuttonWithType:UIButtonTypeCustom]; [videoPlayer setImage:[UIImageimageNamed:@"play1.png"] forState:UIControlStateNormal]; [videoPlayer setImage:[UIImageimageNamed:@"play.png"] forState:UIControlStateHighlighted]; UIImage *playImage = [selfthumbnailImageForVideo: [NSURLfileURLWithPath:[[NSBundlemainBundle] pathForResource:@"popeye"ofType:@"mp4"]]]; [videoPlayer setBackgroundImage:playImage forState:UIControlStateNormal]; videoPlayer.frame = CGRectMake(self.view.frame.size.width/8.0, 90, self.view.frame.size.width*3/4.0, self.view.frame.size.width/2.0); [videoPlayer addTarget:selfaction:@selector(buttonEvent:) forControlEvents:UIControlEventTouchDown]; videoPlayer.tag = 5; [self.view addSubview:videoPlayer]; UILabel *locallabel=[[UILabelalloc]initWithFrame:CGRectMake(self.view.frame.size.width/8.0, self.view.frame.size.width/2.0+90, self.view.frame.size.width*3/4.0, 60)]; locallabel.textAlignment=NSTextAlignmentCenter; locallabel.text=@"本地视频播放"; [self.view addSubview:locallabel]; NSURL *moveURl = [NSURLURLWithString:@"http://124.232.154.173/youku/67774226A883683168CDDA659A/03000805005153359910D703BAF2B17CDDDAF7-77C8-0F5A-F0BC-6BD2DA2B0B00.mp4"]; UIButton *netPlayer = [UIButtonbuttonWithType:UIButtonTypeCustom]; [netPlayer setImage:[UIImageimageNamed:@"play1.png"] forState:UIControlStateNormal]; [netPlayer setImage:[UIImageimageNamed:@"play.png"] forState:UIControlStateHighlighted]; UIImage *netPlayerImage = [self thumbnailImageForVideo:moveURl]; [netPlayer setBackgroundImage:netPlayerImage forState:UIControlStateNormal]; netPlayer.frame = CGRectMake(self.view.frame.size.width/8.0, self.view.frame.size.width/2.0+160, self.view.frame.size.width*3/4.0, self.view.frame.size.width/2.0); [netPlayer addTarget:selfaction:@selector(netEvent:) forControlEvents:UIControlEventTouchDown]; [self.view addSubview:netPlayer]; netlabel.textAlignment=NSTextAlignmentCenter; netlabel.text=@"网络视频播放"; [self.view addSubview:netlabel]; // Do any additional setup after loading the view.
}
获取视频封面,本地视频,网络视频都可以用
(UIImage*) thumbnailImageForVideo:(NSURL *)videoURL {
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil]; AVAssetImageGenerator *gen = [[AVAssetImageGeneratoralloc] initWithAsset:asset]; gen.appliesPreferredTrackTransform = YES; CMTime time = CMTimeMakeWithSeconds(2.0, 600); NSError *error = nil; CMTime actualTime; CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error]; UIImage *thumbImg = [[UIImage alloc] initWithCGImage:image]; return thumbImg;
}
本地视频播放
-(void)buttonEvent:(UIButton*)button{NSURL *moveURl =[NSURLfileURLWithPath:[[NSBundlemainBundle] pathForResource:@"popeye"ofType:@"mp4"]]; if (_moviePlayer==nil) { _moviePlayer = [[MPMoviePlayerViewControlleralloc] init]; }
_moviePlayer.moviePlayer.movieSourceType=MPMovieSourceTypeFile;
[_moviePlayer.moviePlayer setContentURL:moveURl]; [selfpresentMoviePlayerViewControllerAnimated:_moviePlayer]; [_moviePlayer.moviePlayerplay];
}
网络视频播放
-(void)netEvent:(UIButton*)button{
NSURL *moveURl = [NSURLURLWithString:@”http://124.232.154.173/youku/67774226A883683168CDDA659A/03000805005153359910D703BAF2B17CDDDAF7-77C8-0F5A-F0BC-6BD2DA2B0B00.mp4“];
if (_moviePlayer==nil) { _moviePlayer = [[MPMoviePlayerViewControlleralloc]init]; } _moviePlayer.moviePlayer.movieSourceType=MPMovieSourceTypeStreaming; [_moviePlayer.moviePlayer setContentURL:moveURl]; [selfpresentMoviePlayerViewControllerAnimated:_moviePlayer]; [_moviePlayer.moviePlayerplay];
}
(void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
相关文章推荐
- IOS Quartz2D简介
- iOS 自动布局库 SDAutoLayout
- IOS 对象的归档与解档
- iOS 局部变量 setTag后可在别的地方调用 viewWithTag
- ios配置xmpp即时聊天-服务器端
- iOS - GCD 之线程死锁
- Masonry教程--IOS自适配,丢掉Autolayout吧
- iOS解决navigationBar因为图片尺寸问题造成的会向上偏移64的问题
- iOS开发之友盟推送配置教程
- IOS Crash捕获
- iOS 拍照保存到相册
- iOS源码地址
- ios获取设备信息总结
- ios界面设计学习之布局
- 使用Xcode7的Instruments定位iOS内存泄露
- iOS获取设备信息总结
- iOS多线程其一pthread
- iOS 中使用ffmpeg开发的一些参考资料
- <iOS>关于Xcode上的Other&nb…
- IOS生成同时支持armv7,armv7s,i386…