如何在IOS的最顶层屏幕上播放电影?

时间:2013-05-21 12:58:49

标签: ios avqueueplayer

我正在尝试从视图控制器播放电影。我使用下面的代码来做到这一点:

VideoPlayerViewController* moviePlayer = [self.storyboard instantiateViewControllerWithIdentifier:@"videoPlayerController"];
moviePlayer.view.frame = rect;
UIWindow *window = [[[UIApplication sharedApplication] windows] lastObject];
[window.rootViewController presentViewController:moviePlayer animated:NO completion:nil];
[moviePlayer playMoviesForItems:items];

通常它工作正常。但有时,电影开始但我看不到视频,只是我能听到声音。

在所有内容上播放视频的最佳方式是什么?

2 个答案:

答案 0 :(得分:1)

NSString *path = [[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"mp4"];   

MPMoviePlayerController *myPlayer = [[MPMoviePlayerController alloc] init];
myPlayer.shouldAutoplay = YES;
myPlayer.repeatMode = MPMovieRepeatModeOne;
myPlayer.fullscreen = YES;
myPlayer.movieSourceType = MPMovieSourceTypeFile;
myPlayer.scalingMode = MPMovieScalingModeAspectFit;
myPlayer.contentURL =[NSURL fileURLWithPath:path];
[self.view addSubview:myPlayer.view];
[myPlayer play];

另一个解决方案是切换到另一个View Controller并在电影结束时将其关闭。

答案 1 :(得分:0)

您也可以尝试使用AVPlayer。在这种情况下,您可以在当前视图中播放视频,而无需为视频添加单独的叠加层。

这是播放多个AVPlayers的example。您可以修改代码以播放单个视频。

相关问题