我使用的是两个玩家,一个是MPMoviePlayerController
,另一个是AVPlayer
。在寻找MPMoviePlayerController
时,它会将时间设置为AVPlayer
。一切都很好。在将MPMoviePlayerController
当前时间转换为CMTime
时,它会将ex:四舍五入:(如果mpplayer时间为11.80132,则将其舍入为11)。
如果没有四舍五入,我们如何将时间设置为AVPlayer
?
获取mpplayer时间并发送至AVPlayer
课程的代码
[avplayerClass setCurrentTime:[self.videoPlayer currentPlaybackTime]];
NSLog(@"CurrentTime:%f",[self.videoPlayer currentPlaybackTime]);//11.801345
AVPlayer
课程中的代码,并将时间转换为CMTime
-(void)setCurrentTime:(NSTimeInterval)seekTime
{
CMTime seekingCM = CMTimeMake(seekTime, 1);
[self.player seekToTime:seekingCM
toleranceBefore:kCMTimeZero
toleranceAfter:kCMTimePositiveInfinity];
[self.player seekToTime:seekingCM];
NSLog(@"Current time123ns%%%%%%:%f",CMTimeGetSeconds(seekingCM));//11
NSLog(@"Current time123ns%%%%%%:%f",seekTime);//11.801345
}
答案 0 :(得分:4)
试试这个:
CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000);