8

私は 2 人のプレーヤーを使用しています。1 つはMPMoviePlayerControllerで、もう 1 つは ですAVPlayer。がシークMPMoviePlayerControllerされるたびに、時刻が に設定されAVPlayerます。すべてが正常に機能しています。MPMoviePlayerController現在の時間をそれに変換している間、CMTime例: (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
}
4

1 に答える 1

6

これを試して :

  CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000);
于 2016-07-18T20:47:11.053 に答える