6

Używam dwóch graczy jeden jest MPMoviePlayerController, a drugi to AVPlayer. hent MPMoviePlayerController jest poszukiwany, ustawia czas na AVPlayer. Wszystko działa dobrze. Konwertując bieżący czas na MPMoviePlayerController na CMTime, zaokrąglamy ex: (jeśli czas na mpplayer wynosi 11.80132, to zaokrąglamy do 11).Konwersja z NStimeInterval do CMTime dokładnie

Bez zaokrąglania, jak możemy ustawić czas na AVPlayer?

Kod coraz mpplayer czasu i wysyłanie do AVPlayer klasy

[avplayerClass setCurrentTime:[self.videoPlayer currentPlaybackTime]]; 
NSLog(@"CurrentTime:%f",[self.videoPlayer currentPlaybackTime]);//11.801345 

Code w AVPlayer klasy i konwersji czasu 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

dostałem odpowiedź Jeśli zmienię CMTime se ekingCM = CMTimeMake (seekTime, 1); z tym CMTime seekCM = CMTimeMakeWithSeconds (seekTime, 1000000); jego działa dobrze – kmReddy

+0

Powinieneś opublikować to jako odpowiedź. – chakrit

+1

Czy istnieje stała dla tej liczby? – izzy

Odpowiedz

4

Spróbuj tego:

CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000);