关于MPMoviePlayerController的一些知识
2016-03-14 09:54
806 查看
MPMoviePlayerController可以设置视频的frame.即设置其view的frame.
监听MPMoviePlayerController的全屏按钮和退出全名按钮的方法就是添加通知.
MPMoviePlayerController除了一般的视频播放和控制外还有一些强大的功能,例如截取视频缩略图。请求视频缩略图时只要调用-
(void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option方法指定获得缩略图的时间点,然后监控MPMoviePlayerThumbnailImageRequestDidFinishNotification通知,每个时间点的缩略图请求完成就会调用通知,在通知调用方法中可以通过MPMoviePlayerThumbnailImageKey获得UIImage对象处理即可。
[notificationCenter addObserver:self selector:@selector(mediaPlayerThumbnailRequestFinished:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:self.moviePlayer];通知所执行的方法为:
-(void)mediaPlayerThumbnailRequestFinished:(NSNotification *)notification{
NSLog(@"视频截图完成.");
UIImage *image=notification.userInfo[MPMoviePlayerThumbnailImageKey];
//保存图片到相册(首次调用会请求用户获得访问相册权限)
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
监听MPMoviePlayerController的全屏按钮和退出全名按钮的方法就是添加通知.
[notificationCenter addObserver:self selector:@selector(willFullScreen:) name:MPMoviePlayerWillEnterFullscreenNotification object:self.moviePlayer]; [notificationCenter addObserver:self selector:@selector(willFullScreen:) name:MPMoviePlayerWillExitFullscreenNotification object:self.moviePlayer];方法里可以设置全屏的方法:
- (void)willFullScreen:(NSNotification *)notification { if (self.view.bounds.size.width < self.view.bounds.size.height) { [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationLandscapeRight] forKey:@"orientation"]; } else { [[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:UIInterfaceOrientationPortrait] forKey:@"orientation"]; } }
MPMoviePlayerController除了一般的视频播放和控制外还有一些强大的功能,例如截取视频缩略图。请求视频缩略图时只要调用-
(void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option方法指定获得缩略图的时间点,然后监控MPMoviePlayerThumbnailImageRequestDidFinishNotification通知,每个时间点的缩略图请求完成就会调用通知,在通知调用方法中可以通过MPMoviePlayerThumbnailImageKey获得UIImage对象处理即可。
[notificationCenter addObserver:self selector:@selector(mediaPlayerThumbnailRequestFinished:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:self.moviePlayer];通知所执行的方法为:
-(void)mediaPlayerThumbnailRequestFinished:(NSNotification *)notification{
NSLog(@"视频截图完成.");
UIImage *image=notification.userInfo[MPMoviePlayerThumbnailImageKey];
//保存图片到相册(首次调用会请求用户获得访问相册权限)
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
}
相关文章推荐
- 产品学习笔记2—产品经理技能三核心
- 使用yum search lsscsi 命令查lsscsi命令在哪个rpm包里
- ACDFTPManager —— mac & iOS上的FTP库
- 2016年互联网产品经理能力评估模型
- mipmap和drawable文件夹的区别
- 如何在ubuntu安装deb,rpm安装包,tar.gz的方法
- 产品经理入门
- 产品文章理解之--成为产品经理必备的6种能力(引用)
- 详细介绍下ios用MPMoviePlayerController来播放视频
- 使用yum时用Ctrl+C强制终止出现的Error: rpmdb open failed解决方案
- 软件包管理—rpm
- 使用yum时用Ctrl+C强制终止出现的Error: rpmdb open failed解决方案
- 产品经理的素质(集思广益探讨版)
- 怎样成为顶尖的互联网产品经理
- Xcode 打包时出现的Missing iOS Development signing identity签名报错
- 错误提示: Warning: RPMDB altered outside of yum
- -1岁产品经理的思考
- AM中使用PML语言标注船体结构
- rpm方式安装mysql-5.7.11
- ios MM-dd-yyyy hh:ss pm 转成yyyy-mm-dd hh:ss