Avete controllato la documentazione Apple per il MPMoviePlayerController
?
http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPMoviePlayerController_Class/Reference/Reference.html
Qui trovi due proprietà che potrebbero aiutarvi. duration
e playableDuration
, non è una misura esatta, ma piuttosto vicino. Una cosa che dovrai implementare tu stesso è un modo per interrogare in modo intelligente queste proprietà, ad esempio forse potresti voler usare un NSTimer
e recuperare le informazioni dall'istanza MPMovePlayerController
ogni 0,5 secondi.
Per esempio si supponga di avere una proprietà chiamata myPlayer
di tipo MPMoviePlayerController
, si avvia nel vostro metodo init del controller della vista, ecc ...
poi seguita da questo:
self.checkStatusTimer = [NSTimer timerWithTimeInterval:0.5
target:self
selector:@selector(updateProgressUI)
userInfo:nil
repeats:YES];
E un metodo come questo per aggiornare l'interfaccia utente:
- (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 la percentuale doppia segno nella nostra -stringWithFormat
, questo è un altro identificatore di formato da risolvere in un segno %
. Per ulteriori informazioni sugli specificatori di formato see here.
Potrebbe darmi qualche codice di esempio? Sono analfabeta con questa roba. Spero che tu non ti disturbi. –
Ho aggiornato la risposta per fornire un esempio – Daniel
Hai daniel, ho visto la tua risposta e penso che funzioni bene. sfortunatamente sto usando un file di classe che sta facendo alcuni problemi ora per provare questo codice. Comunque grazie per il tuo impegno e gentilezza. –