gpt4 book ai didi

iphone - 加载新 View 时播放视频

转载 作者:行者123 更新时间:2023-11-29 04:44:09 25 4
gpt4 key购买 nike


我正在开发 iPhone 应用程序,遇到了一个非常小的问题。本质上,当我加载某个 View 时,我希望播放视频。视频播放完毕后,它将返回到带有菜单和一些选项的 View 。选项之一是重播视频。目前,我可以使用重播视频选项,但在加载 View 时无法播放视频。

我已经实现了 playMovie 和 moviePlayBackDidFinish 方法。然后我将 [self playMovie] 放在 viewDidLoad 方法中,认为它最初会调用 playMovie 方法,从而在加载 View 时播放电影,但它似乎不起作用。

如果有人能解释为什么这种思维方法行不通,以及这样做的正确方法,我们将不胜感激。

最佳答案

我会尝试 viewDidAppear 而不是 viewDidLoad,具体取决于您的 viewController。一个 View 通常只能加载一次,而且您可能会浪费它,因为它在后台加载。

此外,这是一个示例电影 Did Finish 方法,我想知道您是否释放了不应该释放的内容,或者从未告诉电影正确停止:

- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
NSNumber *reason = [[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey];
switch ([reason integerValue])
{
/* The end of the movie was reached. */
case MPMovieFinishReasonPlaybackEnded:
/*
Add your code here to handle MPMovieFinishReasonPlaybackEnded.
*/
break;

/* An error was encountered during playback. */
case MPMovieFinishReasonPlaybackError:
NSLog(@"An error was encountered during playback");
[self performSelectorOnMainThread:@selector(displayError:) withObject:[[notification userInfo] objectForKey:@"error"]
waitUntilDone:NO];
[self removeMovieViewFromViewHierarchy];
[self removeOverlayView];
[self.backgroundView removeFromSuperview];
break;

/* The user stopped playback. */
case MPMovieFinishReasonUserExited:
[self removeMovieViewFromViewHierarchy];
[self removeOverlayView];
[self.backgroundView removeFromSuperview];
break;

default:
break;
}
}

关于iphone - 加载新 View 时播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com