¿Has consultado la documentación de Apple para el MPMoviePlayerController
?
http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html
Aquí se encuentran dos propiedades que pueden ayudarle. duration
y playableDuration
, no es un ajuste exacto, pero bastante cerca. Una cosa que deberá implementar usted mismo es una forma de consultar inteligentemente estas propiedades, por ejemplo, quizás desee usar un NSTimer
y obtener la información de su instancia MPMovePlayerController
cada 0.5 segundos.
Por ejemplo supongamos que tiene una propiedad llamada myPlayer
de tipo MPMoviePlayerController
, iniciará en el método init del controlador de vista, etc ...
A continuación, seguido por:
self.checkStatusTimer = [NSTimer timerWithTimeInterval:0.5
target:self
selector:@selector(updateProgressUI)
userInfo:nil
repeats:YES];
Y un método como este para actualizar la interfaz de usuario:
- (void)updateProgressUI{
if(self.myPlayer.duration == self.myPlayer.playableDuration){
// all done
[self.checkStatusTimer invalidate];
}
int percentage = roundf((myPlayer.playableDuration/myPlayer.duration)*100);
self.progressLabel.text = [NSString stringWithFormat:@"%d%%", percentage];
}
Nota el doble signo de porcentaje en nuestra -stringWithFormat
, este es otro especificador de formato para resolverlo con un signo %
. Para obtener más información sobre los especificadores de formato see here.
¿Podría darme algún código de ejemplo? Soy analfabeto con estas cosas. Espero que no te molestes. –
Actualicé la respuesta para proporcionar un ejemplo – Daniel
Hai daniel, vi su respuesta y creo que funciona bien. desafortunadamente, estoy usando un archivo de clase que hace algunos problemas ahora para probar este código. De todos modos, gracias por tu esfuerzo y amabilidad. –