iOS编程——MPMoviePlayerController之切换闪屏问题
2013-11-26 09:57
323 查看
MPMoviePlayerController 是 iOS 封装的视频播放器,最近在做一个有着视频频换切换的项目,尝试了很多方法,总是有闪屏出现,逛遍了Git、翻阅了S.O 未果。
暂时还未解决问题,不过发现一个有趣的事情:你有没有见过iPad或是iPhone屏幕上同时有两个或两个以上的视频在播放?
为了验证这个事情,自己写了个Demo截图如下:
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL * happyUrl = [[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"小毛驴" ofType:@"mp4"]];
self.movPlayerHappy = [[MPMoviePlayerController alloc ] initWithContentURL:happyUrl];
_movPlayerHappy.view.frame = CGRectMake(0, 0, 768, 500) ;
_movPlayerHappy.controlStyle = MPMovieControlStyleNone;
[self.view addSubview:_movPlayerHappy.view];
NSURL * walkUrl = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"甩葱歌" ofType:@"mp4"]];
self.moviePlayerWalk = [[MPMoviePlayerController alloc] initWithContentURL:walkUrl];
_moviePlayerWalk.view.frame = CGRectMake(0, 520, 768, 1024-530);
_moviePlayerWalk.controlStyle = MPMovieControlStyleNone;
[self.view addSubview:_moviePlayerWalk.view];
[self performSelector:@selector(playTheWalk) withObject:nil afterDelay:2.0];
[_movPlayerHappy play];
// [_moviePlayerWalk play];
}
- (void)playTheWalk
{
[_moviePlayerWalk play];
}_movPlayerHappy 先于 _moviePlayWalk 播放,在_movPlayerHappy播放到两秒的时候(此时它还没有播放完)调用方法播放_moviePlayerWalk,我们会看到,Happy的视频框黑了,不播了,之后Walk视频在播。或许这可以解释为什么切换视频总是出现闪屏现象了!
这只是我的一个猜想,另外我依旧在想方法解决闪屏问题。。。。
测试Demo链接:http://download.csdn.net/detail/u012405234/6611403
暂时还未解决问题,不过发现一个有趣的事情:你有没有见过iPad或是iPhone屏幕上同时有两个或两个以上的视频在播放?
为了验证这个事情,自己写了个Demo截图如下:
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL * happyUrl = [[NSURL alloc]initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"小毛驴" ofType:@"mp4"]];
self.movPlayerHappy = [[MPMoviePlayerController alloc ] initWithContentURL:happyUrl];
_movPlayerHappy.view.frame = CGRectMake(0, 0, 768, 500) ;
_movPlayerHappy.controlStyle = MPMovieControlStyleNone;
[self.view addSubview:_movPlayerHappy.view];
NSURL * walkUrl = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"甩葱歌" ofType:@"mp4"]];
self.moviePlayerWalk = [[MPMoviePlayerController alloc] initWithContentURL:walkUrl];
_moviePlayerWalk.view.frame = CGRectMake(0, 520, 768, 1024-530);
_moviePlayerWalk.controlStyle = MPMovieControlStyleNone;
[self.view addSubview:_moviePlayerWalk.view];
[self performSelector:@selector(playTheWalk) withObject:nil afterDelay:2.0];
[_movPlayerHappy play];
// [_moviePlayerWalk play];
}
- (void)playTheWalk
{
[_moviePlayerWalk play];
}_movPlayerHappy 先于 _moviePlayWalk 播放,在_movPlayerHappy播放到两秒的时候(此时它还没有播放完)调用方法播放_moviePlayerWalk,我们会看到,Happy的视频框黑了,不播了,之后Walk视频在播。或许这可以解释为什么切换视频总是出现闪屏现象了!
这只是我的一个猜想,另外我依旧在想方法解决闪屏问题。。。。
测试Demo链接:http://download.csdn.net/detail/u012405234/6611403
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- IOS开发环境windows化攻略
- 探讨Android与iOS,我们将何去何从?
- IOS 身份证校验详细介绍及示例代码
- iOS NSDate中关于夏令时的坑
- iOS内存错误EXC_BAD_ACCESS的解决方法
- 从 Auto Layout 的布局算法谈性能
- 浅谈 MVC、MVP 和 MVVM 架构模式
- 深入解析 ObjC 中方法的结构
- 你真的了解 load 方法么?
- 从源代码看 ObjC 中消息的发送
- vm安装mac os x 10.7 lion
- objective-c(一)
- objective-c(三)
- objective-c(四)-基本数据类型以及循环和选择结构
- objective-c(六)文件分离,合成存取方法,方法多参数,局部变量,self使用(未完成)
- ios开发UIImage imageNamed方法的误用