我在app中使用故事板。 使用故事板可以正确连接所有视图 现在我想做的新事是,
当我的启动画面关闭时,我想在每次用户打开应用时显示3秒视频。
我知道如何从viewcontroller加载视频, 以下是我用来启动视频的代码。
Attempt to present <MPMoviePlayerViewController:> on <DashbaordVC:> whose view is not in the window hierarchy
但是当我在rootViewController应用程序中使用此代码时崩溃说
[self.navigationController pushViewController:self.videoController animated:NO];
但是当我在使用导航控制器(No Storyboard)的其他演示应用程序中使用相同的代码时,它工作正常。 但是在这个使用故事板的应用程序中,它会崩溃。
我也试过
ApplicationDidFinishLaunching
然后我考虑在AppDelegate文件中添加此代码并从MPMoviePlayerViewController
但没有帮助。 任何人都可以指导我....同样的 还有如何在app delegate中添加{{1}}。
答案 0 :(得分:0)
我认为您可以通过MPMoviePlayerController执行此操作。请尝试以下代码
NSString *path = [[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
videoPlayer = [[MPMoviePlayerController alloc] init];
[videoPlayer.view setFrame:CGRectMake(0.0, viewTopbar.frame.size.height,[UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - (viewTopbar.frame.size.height + 50.0))];
[videoPlayer setMovieSourceType:MPMovieSourceTypeFile];
[videoPlayer setContentURL:url];
[videoPlayer setControlStyle:MPMovieControlStyleEmbedded];
[videoPlayer setScalingMode:MPMovieScalingModeNone];
[videoPlayer prepareToPlay];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:videoPlayer];
[self.view addSubview:videoPlayer.view];
[videoPlayer play];
如果你不想全屏,那么就像这样使用它
[videoPlayer setControlStyle:MPMovieControlStyleNone];