Конвертировать из NStimeInterval в CMTime точно
Я использую двух игроков один 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
}
1 ответ
Попробуй это:
CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000);