如何在UILabel中显示使用MPMoviePlayer播放的视频的当前进度?

时间:2012-06-05 10:58:28

标签: iphone video uilabel mpmovieplayercontroller

我需要在 UILabel 中显示使用MPMoviePlayerController播放的视频的当前进度。我需要在UILable中显示当前进度和视频的总持续时间。它应该看起来像1.25 / 5.00?我需要在播放视频时显示此信息。我可以直接使用默认进度栏显示它,但我需要禁用它。由于我无法禁用它,我计划在UILabel中显示视频的当前进度。有人可以就此提出任何建议吗?

3 个答案:

答案 0 :(得分:3)

设置进度和持续时间,你可以在播放视频后调用自我观察者,然后更新进度标签的值......

你设置观察者以查看播放器何时开始播放,并且在选择器中呼叫观察者,这个观察者应该看起来像这样;

-(void)watcher{
   urProgressLabel.text = [NSString stringWithFormat:@"%d",movieplayer.currentPlaybackTime];
   [self performSelector:@selector(watcher) withObject:nil afterDelay:0.5];//to update the value each 0.5 seconds 
}

希望它有所帮助;)

答案 1 :(得分:3)

得到答案......

实例化视频播放器...

self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];

//添加标签以显示视频的进度....

progressLabel = [[UILabel alloc]initWithFrame:CGRectMake(125,275,70,25)];
progressLabel.backgroundColor = [UIColor clearColor];
[progressLabel setTextColor:[UIColor whiteColor]];
[self.view addSubview:progressLabel];

//设置一个Timer ..

[NSTimer scheduledTimerWithTimeInterval:1.0f 
                                 target:self 
                               selector:@selector(updatePlaybackTime:) 
                               userInfo:nil 
                                repeats:YES];

并在方法updatePlaybackTime:....

- (void)updatePlaybackTime:(NSTimer*)theTimer {
    progressLabel.text = [NSString stringWithFormat:@"%f",self.moviePlayerController.currentPlaybackTime];
}

完成......我将使用视频的进度更新标签...

答案 2 :(得分:2)

为了隐藏post之后的默认进度条结帐 要在12链接后设置自定义进度条结帐。