Как добавить KVO в MPMoviePlayer currentPlaybackTime? - PullRequest
6 голосов
/ 26 апреля 2011

Как добавить KVO в свойство currentPlaybackTime класса MPMoviePlayer?

1 Ответ

14 голосов
/ 19 июня 2011

Нельзя добавить KVO в currentPlaybackTime, поскольку свойство явно не объявлено как совместимое с KVO.

Вместо этого вы можете регулярно пытаться опрашивать игрока и сохранять позицию, используя такой код:

- (void) BeginPlayerPolling {
self.pollPlayerTimer = [NSTimer scheduledTimerWithTimeInterval:5
                                                       target:self 
                                                     selector:@selector(PollPlayerTimer_tick:)
                                                     userInfo:nil 
                                                      repeats:YES];  

}

- (void) PollPlayerTimer_tick:(NSObject *)sender {
// Store current playback position
if (player.playbackState == MPMoviePlaybackStatePlaying)
    lastRecordedPlaybackTime = player.currentPlaybackTime;
}

- (void) EndPlayerPolling {
if (pollPlayerTimer != nil)
{
    [pollPlayerTimer invalidate];
    self.pollPlayerTimer = nil;
}
}
...