您的位置:首页 > 产品设计 > 产品经理

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息