MPMoviePlayerController Performance Hit
我使用MPMoviePlayerController,因为我想播放电影。MPMoviePlayerController Performance Hit
一个问题。当我创建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];
`
为什么应用程序停止? 这个问题解决方法吗?
回答:
我认为你可以使用多线程功能。
NSOperationQueue
是线程安全的(您可以在不需要锁的情况下从不同的线程向其添加操作),并且可以将NSOperation对象链接在一起。
您可以使用以下代码捕捉来使用它们。
NSOperationQueue *queue = [NSOperationQueue mainQueue]; NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
// your code here
}];
[queue addOperation:operation];
我希望对你有帮助。
回答:
如果您查看MPMoviePlayerController
的文档,您会发现在示例中,即使将电影播放器添加到视图之前,它们也会调用prepareToPlay
。
我会加上[mediaPlayer prepareToPlay]
你设置的球员。
MPMediaPlayback Protocol Reference说: “以尽量减少播放延迟,可以调用播放以前调用此方法”
以上是 MPMoviePlayerController Performance Hit 的全部内容, 来源链接: utcz.com/qa/265764.html