Конвертировать из 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);
Другие вопросы по тегам