How can I add a KVO to the currentPlaybackTime property of a MPMoviePlayer class?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You cannot add a KVO to currentPlaybackTime since the property is not explicitly declared as KVO compatible.
Instead, you could try polling the player regularly and storing the position, with code such as:
- (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;
}
}