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
}
dostałem odpowiedź Jeśli zmienię CMTime se ekingCM = CMTimeMake (seekTime, 1); z tym CMTime seekCM = CMTimeMakeWithSeconds (seekTime, 1000000); jego działa dobrze – kmReddy
Powinieneś opublikować to jako odpowiedź. – chakrit
Czy istnieje stała dla tej liczby? – izzy