Sto usando due lettori uno è MPMoviePlayerController
e l'altro è AVPlayer
. henever MPMoviePlayerController
viene cercato, imposta l'ora su AVPlayer
. Tutto funziona bene. Durante la conversione dell'ora corrente MPMoviePlayerController
in CMTime
, l'arrotondamento viene eseguito ex: (se il tempo di mpplayer è 11.80132 è arrotondato a 11).Convertire da NStimeInterval a CMTime con precisione
Senza arrotondamento, come è possibile impostare l'ora su AVPlayer
?
codice per ottenere mpplayer tempo e l'invio di AVPlayer
classe
[avplayerClass setCurrentTime:[self.videoPlayer currentPlaybackTime]];
NSLog(@"CurrentTime:%f",[self.videoPlayer currentPlaybackTime]);//11.801345
Codice in AVPlayer
di classe e la conversione di tempo per 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
}
ottenuto la risposta Se sostituisco CMTime se ekingCM = CMTimeMake (seekTime, 1); con questo CMTime seekingCM = CMTimeMakeWithSeconds (seekTime, 1000000); la sua multa di lavoro – kmReddy
Si dovrebbe postare che come risposta. – chakrit
c'è una costante per questo numero? – izzy