Как отобразить текущее время видео?
Как сделать, чтобы отобразить текущее время видео? Я занимаюсь разработкой в Obj-C и использую фреймворк QTKit. Мне интересно, как сделать, чтобы QTMovieView постоянно уведомлял мою функцию "refreshCurrentTimeTextField". Я нашел образец Apple, но оказалось, что довольно сложно извлечь то, что мне действительно нужно. (Http://developer.apple.com/library/mac/#samplecode/QTKitMovieShuffler/Introduction/Intro.html)
1 ответ
Решение
Создайте NSTimer, который обновляется раз в секунду:
[NSTimer scheduledTimerWithInterval:1.0 target:self selector:@selector(refreshCurrentTimeTextField) userInfo:nil repeats:YES]
А затем создайте функцию обратного вызова таймера и превратите время в правильную метку ЧЧ: ММ: СС:
-(void)refreshCurrentTimeTextField {
NSTimeInterval currentTime;
QTMovie *movie = [movieView movie];
QTGetTimeInterval([movie currentTime], ¤tTime);
int hours = currentTime/3600;
int minutes = (currentTime/60) % 60;
int seconds = currentTime % 60;
NSString *timeLabel;
if(hours > 0) {
timeLabel = [NSString stringWithFormat:@"%02i:%02i:%02i", hours, minutes, seconds];
} else {
timeLabel = [NSString stringWithFormat:@"%02i:%02i", minutes, seconds];
}
[yourTextField setStringValue:timeLabel];
}