MPMoviePlayerViewController视频持续时间

时间:2011-02-04 18:04:40

标签: iphone ipad ios video mpmovieplayercontroller

播放视频没问题,似乎无法让我的标签更新视频的持续时间。 (整个视频长度)

以下方法可以正常使用AVAudioPlayer

- (void) updateDurationLabel {

    NSURL *url = /* not an issue */
    MPMoviePlayerViewController *video = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

    int duration = video.moviePlayer.playableDuration; /* not the same as AVAudioPlayer */
    int minutesDur = duration / 60;
    int secondsDur = duration % 60;
    NSString *minutesString2 = (minutesDur < 10) ?
              [NSString stringWithFormat:@"0%d", minutesDur] :
              [NSString stringWithFormat:@"%d", minutesDur];
    NSString *secondsString2 = (secondsDur < 10) ?
              [NSString stringWithFormat:@"0%d", secondsDur] :
              [NSString stringWithFormat:@"%d", secondsDur];

    lblDuration.text = [NSString stringWithFormat:@"%@:%@", minutesString2,
                                                            secondsString2];
}

1 个答案:

答案 0 :(得分:2)

我认为在发送duration之前,MPMovieDurationAvailableNotification属性可能不准确...

此外,您使用playableDuration表示当前已缓冲的持续时间,而不是总持续时间。