Перевод видео в состояние паузы перед воспроизведением - PullRequest
2 голосов
/ 04 августа 2011

Я использую MVMoviePlayer для воспроизведения видео в приложении.Прямо сейчас черный экран появляется после нажатия кнопки воспроизведения, и видео начинает воспроизводиться.Но черный экран вызывает некоторые сомнения с точки зрения конечного пользователя.Итак, я хочу начать видео из состояния паузы.Чтобы сделать это, я подумал о том, чтобы перевести плеер в состояние паузы, прежде чем играть в него.

1 Ответ

4 голосов
/ 31 января 2012

Вы можете скрыть 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;
}
...