muestra el timer de grabación mientras hace video

Había implementado el concepto de AVCaptureSession para grabar videos.

-(void)startRecordingWithOrientation:(AVCaptureVideoOrientation)videoOrientation { AVCaptureConnection *videoConnection = [AVCamUtilities connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self movieFileOutput] connections]]; if ([videoConnection isVideoOrientationSupported]) [videoConnection setVideoOrientation:videoOrientation]; [[self movieFileOutput] startRecordingToOutputFileURL:[self outputFileURL] recordingDelegate:self]; } 

Está grabando el video correctamente, pero el timer de grabación no está en la pantalla. Cualquiera tiene una idea de cómo mostrar el timer mientras hace videos.

Gracias por adelantado.

Utilizo agregar una UILabel a la vista donde se presenta el video mientras está grabando y uso este código para mostrar el time de grabación

 @property (weak, nonatomic) IBOutlet UILabel *labelTime; @property(nonatomic, strong) NSTimer *timer; @property(nonatomic) int timeSec; @property(nonatomic) int timeMin; 

// Método para comenzar a grabar

 - (void)startRecord { self.timeMin = 0; self.timeSec = 0; //String format 00:00 NSString* timeNow = [NSString stringWithFormat:@"%02d:%02d", self.timeMin, self.timeSec]; //Display on your label //[timeLabel setStringValue:timeNow]; self.labelTime.text= timeNow; self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerTick:) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode]; //Start recording [movieFileOutput startRecordingToOutputFileURL:outputURL recordingDelegate:self]; } //Event called every time the NSTimer ticks. - (void)timerTick:(NSTimer *)timer { self.timeSec++; if (self.timeSec == 60) { self.timeSec = 0; self.timeMin++; } //String format 00:00 NSString* timeNow = [NSString stringWithFormat:@"%02d:%02d", self.timeMin, self.timeSec]; //Display on your label self.labelTime.text= timeNow; } 

Recuerde la hora (NSTimeInterval) cuando comenzó a grabar, guárdelo en una variable de instancia y luego calcule la diferencia con la hora actual (NSDate timeIntervalSinceReferenceDate) en un timer que dispara dos veces por segundo aproximadamente y muestra el time resultante en una UITextView?

Para evitar la deriva, configure el "time de disparo" en el timer después de cada pantalla y configúrelo hasta cuánto time falte el siguiente segundo completo (o medio segundo o sin embargo). De esta manera, si, por ejemplo, mostrar el time toma 0.1 segundos, es probable que el próximo time de disparo sea de un segundo más o less.