Avplayer视频播放方法
我正在开发应用程序,在其中显示当前播放时间和视频总时间。我得到了总时间。现在显示当前播放时间将调用哪个方法。谁能帮忙?我已经使用avplayer。这是代码:Avplayer视频播放方法
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[self.avplayer pause];
self.avplayer = [AVQueuePlayer playerWithURL:[NSURL URLWithString:@""]];
self.avplayer = nil;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:NO];
AVPlayerItem *currentItem = self.avplayer.currentItem;
CMTime duration = currentItem.duration; //total time
CMTime currentTime = currentItem.currentTime; //playing time
NSUInteger durationSeconds = (long)CMTimeGetSeconds(duration);
NSUInteger minutes = floor(durationSeconds % 3600/60);
NSUInteger seconds = floor(durationSeconds % 3600 % 60);
NSString *time = [NSString stringWithFormat:@"%02ld:%02ld", (unsigned long)minutes, (unsigned long)seconds];
NSLog(@"Time|%@", time);
lblTotaltime.text = time;
NSUInteger durationSeconds1 = (long)CMTimeGetSeconds(currentTime);
NSUInteger minutes1 = floor(durationSeconds1 % 3600/60);
NSUInteger seconds1 = floor(durationSeconds1 % 3600 % 60);
NSString *time1 = [NSString stringWithFormat:@"%02ld:%02ld", (unsigned long)minutes1, (unsigned long)seconds1];
NSLog(@"Time|%@", time1);
lblRemaningTime.text = time1;
}
#pragma mark PlayerMethods
- (void)itemDidFinishPlaying:(NSNotification *)notification {
AVPlayerItem *player = [notification object];
[player seekToTime:kCMTimeZero];
}
- (void)playerItemDidReachEnd:(NSNotification *)notification {
AVPlayerItem *p = [notification object];
[p seekToTime:CMTimeMake(0, 3)];
}
- (void)playerStartPlaying
{
[self.avplayer play];
}
您可以通过使用AVPlayerItem
AVPlayerItem *getcurrentItem = yourAVPlayerName.currentItem;
currentItem
属性获取当前出场时间,得到总持续时间
CMTime fullDuration = getcurrentItem.duration;
用于获取当前时间
CMTime playercurrentTime = getcurrentItem.currentTime;
备用
NSTimeInterval playercurrentTime = CMTimeGetSeconds(getcurrentItem.currentTime);
NSLog(@" get current Time of video :%f ",playercurrentTime);
我得到了持续时间。但我完全不知道在哪里编写显示视频当前播放时间的代码 – Niharika
@Niharika - 如果您的yourAVPlayerName在视频开始后是全球性的,您将获得此信息,您可以在类中的任何位置使用 –
downvote的原因,如果downvote是合理的,我会更新我的回答 –
显示您的尝试密码 –