Лучший способ реализовать время ожидания MPMoviePlayer - PullRequest
1 голос
/ 02 мая 2011

У меня есть MPMoviePlayer, который загружает фильм из потока.Я реализовал тайм-аут на 15 секунд с таймерами.Но, может быть, есть какой-то другой лучший способ реализовать таймаут без таймера?

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Я не уверен, но думаю, что можно использовать performSelector в качестве таймера?

[self performSelector:@selector(checkTimeout:) withObject:theMovie afterDelay:15];

и затем проверить состояние фильма.

0 голосов
/ 03 мая 2011

Регистрация на MPMoviePlayerLoadStateDidChangeNotification.В своем обработчике проверьте текущее состояние нагрузки и замаскируйте MPMovieLoadStateStalled.

- (void)MPMoviePlayerLoadStateDidChange:(NSNotification *)notification
{
    //is the player stalled, hence possibly starving?
    if ((movieController_.loadState & MPMovieLoadStateStalled) == MPMovieLoadStateStalled)
    {  //yes->do something
       NSLog(@"hey there, I am starving to death here");
    }
}

. Вы можете зарегистрировать таймер в верхнем условии if - например, 10 секунд.Когда у этого ребенка закончится время без дальнейших изменений состояния, сделайте что-нибудь, чтобы прекратить / пропустить воспроизведение видео.

...