6

Я использую два игрока: MPMoviePlayerController, а другой - AVPlayer. кто ищет MPMoviePlayerController, он устанавливает время до AVPlayer. Все работает нормально. При преобразовании MPMoviePlayerController текущее время в CMTime оно округляется до: (если время mpplayer равно 11.80132, округление до 11).Конвертировать из NStimeInterval в CMTime точно

Без округления, как мы можем установить время до 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 
} 
+6

Получил ответ Если я заменю CMTime se ekingCM = CMTimeMake (seekTime, 1); с этим CMTime seekCM = CMTimeMakeWithSeconds (seekTime, 1000000); его рабочий штраф – kmReddy

+0

Вы должны отправить это как ответ. – chakrit

+1

есть ли константа для этого числа? – izzy

ответ

4

Попробуйте это:

CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000);