MPMoviePlayerController 性能受到影响



我使用MPMoviePlayerController是因为我想播放电影。

一个问题。当我创建MPMoviePlayerController时,应用程序会停止一点。

这是我的代码:

    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"m4v"];
    NSURL *videoURL = [NSURL fileURLWithPath:path];
    moviePlayer =  [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
    moviePlayer.scalingMode=MPMovieScalingModeFill;
    moviePlayer.controlStyle=MPMovieControlStyleNone;
    moviePlayer.shouldAutoplay=NO;
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(movieRestartCallback:)
                                                 name:MPMoviePlayerPlaybackStateDidChangeNotification
                                               object:nil];
    [moviePlayer.view setFrame:CGRectMake(20, 20, 280, 200)];
    [self.view addSubview:moviePlayer.view];

'

为什么应用程序停止?这个问题的解决方式是吗?

如果您查看MPMoviePlayerController的文档,您会发现在示例中,他们甚至在将电影播放器添加到视图之前调用prepareToPlay

我会添加[mediaPlayer prepareToPlay]您设置播放器的位置。

MPMedia播放协议参考 说: "若要最大程度地减少播放延迟,请在调用 Play 之前调用此方法"

我认为您可以使用多线程函数。

NSOperationQueue是线程安全的(您可以从不同的线程向其添加操作,而无需锁定),并使您能够将 NSOperation 对象链接在一起。

可以使用以下代码快照来使用它们。

NSOperationQueue *queue = [NSOperationQueue mainQueue];
NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
    // your code here
}];
[queue addOperation:operation];

我希望这对你有帮助。

相关内容

最新更新