iphone - 加载新 View 时播放视频

标签 iphone ios xcode video


我正在开发 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/

相关文章:

ios - 奇怪的 EXC_BAD_ACCESS SpriteKit removeSubsprite 崩溃

iphone - 如何在 Xcode 中将文件夹/组添加到 SCM (CVS)?

iphone - 在 Viewfor headerinsection 中单击 UITableView 部分

ios - 使用 JSONModel (IOS) 在光盘上保存对象数组

iphone - 如何在 UIDatePicker iphone 中只显示时间

c# - Unity3D 网站查找在 Unity3D 4.7.2 中返回 nil

swift - 线程 1 EXC_BAD_ACCESS 代码 1 地址 0x11d (Swift 4)

iphone - 您在 .m 文件顶部添加的 NAMELESS 类别的最佳名称是什么?

ios - 本地化 Storyboard : How to add new content?

ios - 通过点击单元格中的 ImageView 进行转场