每次启动画面在 iOS 应用程序中消失时启动视频
Posted
技术标签:
【中文标题】每次启动画面在 iOS 应用程序中消失时启动视频【英文标题】:launch video every time splash screen disappears in iOS app 【发布时间】:2015-04-28 11:39:50 【问题描述】:我对这种行为有点困惑。
我想做的是, 我有两个不同的应用程序。 一个是我做的,另一个是一个离开公司的人做的,现在我必须完成他的项目。 但是两个项目要完成的任务是一样的。
我每次打开应用程序时都必须显示 5 秒的视频。 喜欢一些品牌视频。 (在愤怒的小鸟应用中完成)
我检查了 SO 上的所有链接,但没有帮助任何人。
我离开公司的前辈,他使用 Main.storyboard 来导航每个屏幕。 而且我不太擅长使用故事板。 在我的应用中,我以编程方式创建了导航。
当我的启动画面消失时,
我显示仪表板。
但是在显示仪表板之前,我必须每次都显示视频。
所以我所做的,
我只为名为@987654321@ 的视频创建了一个视图控制器,
并从dashboardView 的ViewDidLoad
调用该视图控制器。
当我的视频完成后,
然后通过使用 NSNotificationCenter 我删除了VideoViewController
。
当我 Nslog url 路径时,它的打印正确,但之后我的应用程序崩溃了。 我通过应用 ExceptionalBreakpoints 检查了它,但没有帮助。
这是我在ViewDidLoad
of VideoViewController
中启动视频的代码
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"video" ofType:@"mp4"]];
NSLog(@"video path :- %@",url);
playercontroller = [[MPMoviePlayerController alloc] init];
[playercontroller setContentURL:url];
[playercontroller.view setFrame:CGRectMake (0, 0, 320, 460)];
[self.view addSubview:playercontroller.view];
[playercontroller play];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:playercontroller];
我正在从仪表板推送VideoViewController
-(void)viewDidAppear:(BOOL)animated
方法。
因为我做错了什么。 由于我的 url 得到了很好的 Nslg,所以毫无疑问加载视频。
请指导我。 还指导我使用情节提要完成相同的任务。
提前致谢。
【问题讨论】:
我想你想试试这样 [self presentMoviePlayerViewControllerAnimated:movieController];删除 [self.view addSubview:playercontroller.view];然后尝试 或者这样试试 [self presentViewController:playercontroller animated:YES completion:nil]; @Darshan 我尝试了同样的方法,但不起作用。然后我从 MPMoviePlayerViewController 切换到 MPMoviePlayerController。我创建了 MPMoviePlayerController 的对象,而不是 MPMoviePlayerViewController 如果我使用 MPMoviePlayerViewController 及以上代码行,则应用程序崩溃并给出以下警告。尝试在视图不在窗口层次结构中的你不应该这样硬编码设置框架..
假设 'self' 是一个 ViewController(从 RootViewController 一直正确地添加ChildViewController),尝试下一个操作:
NSString *path = [[NSBundle mainBundle] pathForResource:videoFileName ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
MPMoviePlayerViewController *videoController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:videoController];
[videoController.moviePlayer play];
【讨论】:
:- 应用程序崩溃并给出警告“警告:尝试在addChildViewController:videoViewController
当我做 addChildViewController:videoViewController 时,它什么也不做,只是冻结应用程序和控制台连续打印警告“[UIApplication beginIgnoringInteractionEvents]”以上是关于每次启动画面在 iOS 应用程序中消失时启动视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 7 和 iOS 6 中出现动画启动画面期间隐藏状态栏?