为什么 MPMoviePlayerController 在第一次播放时卡顿?
Why does MPMoviePlayerController stutter when first playing?
对应用程序进行一些简单的更改后,MPMoviePlayerController
在播放视频时开始卡顿。这个问题只在大约 10% 的时间内发生,到目前为止我还没有发现任何可重复的模式。卡顿只发生在开头:视频开始,然后大约一秒钟后,它重新开始。就是这样。
这是我的设置代码,来自 viewDidLoad
:
self.moviePlayerController=[[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.moviePlayerController setShouldAutoplay:NO];
[self.moviePlayerController prepareToPlay];
[self.moviePlayerController.view setAlpha:0];
[self.moviePlayerController.backgroundView setBackgroundColor:[UIColor whiteColor]];
然后当用户点击一个大的播放按钮时:
[self.moviePlayerController play];
所有的代码我都梳理了很多遍,设置了很多NSLogs
和断点,似乎离解决问题没有一步之遥。为什么会出现这种情况? MPMoviePlayerController
还有其他人遇到过这个问题吗?感谢阅读。
我最终将 MPMoviePlayerController
换成 AVPlayerViewController
。做起来非常简单,卡顿现在消失了。
对应用程序进行一些简单的更改后,MPMoviePlayerController
在播放视频时开始卡顿。这个问题只在大约 10% 的时间内发生,到目前为止我还没有发现任何可重复的模式。卡顿只发生在开头:视频开始,然后大约一秒钟后,它重新开始。就是这样。
这是我的设置代码,来自 viewDidLoad
:
self.moviePlayerController=[[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[self.moviePlayerController setControlStyle:MPMovieControlStyleNone];
[self.moviePlayerController setShouldAutoplay:NO];
[self.moviePlayerController prepareToPlay];
[self.moviePlayerController.view setAlpha:0];
[self.moviePlayerController.backgroundView setBackgroundColor:[UIColor whiteColor]];
然后当用户点击一个大的播放按钮时:
[self.moviePlayerController play];
所有的代码我都梳理了很多遍,设置了很多NSLogs
和断点,似乎离解决问题没有一步之遥。为什么会出现这种情况? MPMoviePlayerController
还有其他人遇到过这个问题吗?感谢阅读。
我最终将 MPMoviePlayerController
换成 AVPlayerViewController
。做起来非常简单,卡顿现在消失了。