我正在开发基于滑动的应用程序。在每次滑动时,将显示一个页面,其中包含带有其他资产的视频。我正在使用以下代码在每次滑动时为我执行此操作。
NSArray * file = [videoFile componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@“。”]];
NSString *moviePath = [[NSBundle mainBundle] pathForResource:[file objectAtIndex:0] ofType:[file objectAtIndex:1]];
if (moviePath != nil)
{
//self.videoTimer = [NSTimer scheduledTimerWithTimeInterval:delayTime target:self selector:@selector(playVideo:) userInfo:nil repeats:NO];
self.theMovie = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]];
self.theMovie.view.frame = self.bounds;
self.theMovie.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
self.theMovie.moviePlayer.controlStyle = MPMovieControlStyleNone;
self.theMovie.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self addSubview:self.theMovie.view];
[self.theMovie release];
}
else
{
[AssetValidator alertMissingFileInfo:videoFile];
}
这很好用。
我的问题是每次刷卡时都会以延迟和黑屏开始。
请指导如何解决此问题。
问候。
答案 0 :(得分:0)
电影有多大?如果它们的尺寸很大那么就可以了。有一个解决方案,但它非常不合理 - 在应用启动和运行时加载所有电影到内存。否则(如果电影很大),无论如何都会发生延迟。
答案 1 :(得分:0)
我们可以使用背景图像来避免黑屏。