Вы можете скрыть MPMoviePlayer
до тех пор, пока не исчезнет это раздражающее черное мерцание.
Чтобы убедиться, что мерцание черного цвета исчезло, вы можете проверить, является ли loadState MPMoviePlayer
равным 3 (что означает MPMovieLoadStatePlayable
| MPMovieLoadStatePlaythroughOK
), а воспроизведениеState равно 1 (что означает MPMoviePlaybackStatePlaying
)
Сначала скрой свой MPMoviePlayer
:
yourMPMoviePlayer.view.hidden = YES;
Просто добавьте наблюдателя, чтобы получать уведомления при изменении loadState:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(loadStateChanged:)
name:MPMoviePlayerLoadStateDidChangeNotification
object:nil];
И сделайте ваш MPMoviePlayer снова видимым, когда вы получите уведомление и условия выполнены:
-(void)loadStateChanged:(NSNotification *)sentNotification
{
if ( player.loadState == 3 && player.playbackState == 1 )
yourMPMoviePlayer.view.hidden = NO;
}