Пример кода проблемы MoviePlayer - PullRequest
2 голосов
/ 21 апреля 2009

У меня есть вопрос на этот вопрос ранее, но я не могу получить ответ, поэтому я отправляю его снова. Это пример загрузки MoviePlayer с сайта разработчика iphone. Когда я нажимаю кнопку «Готово», появляется режим управления проигрывателем фильмов, фильм заканчивается выйти в главное окно, при этом была вызвана функция moviePlayBackDidFinish, однако при повторном воспроизведении фильма экран проигрывателя продолжает мигать, как это предотвратить?

код, который я не вносил, полностью собран из примера кода, загруженного с сайта Apple, кто-нибудь сталкивался с этой проблемой раньше и решил ее?

1 Ответ

2 голосов
/ 12 ноября 2009

Эта проблема возникает только в симуляторе, а не на реальном устройстве. Если вы хотите избавиться от этого, вам нужно выпустить MoviePlayer и выделять новый каждый раз, когда вы проигрываете фильм. E.g.:

- (void) moviePlayBackDidFinish:(NSNotification*)notification
{
    // remove observer
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:thePlayer];

    [thePlayer release];
}

и

thePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theMovie];

[[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(moviePlayBackDidFinish:) 
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:thePlayer];

[thePlayer play];

в другом месте.

...