6

Tôi đang sử dụng hai trình phát một là MPMoviePlayerController và số còn lại là AVPlayer. henever MPMoviePlayerController được tìm kiếm, nó đặt thời gian để AVPlayer. Mọi thứ đều hoạt động tốt. Trong khi chuyển đổi MPMoviePlayerController thời gian hiện tại thành CMTime nó làm tròn tắt cũ: (nếu thời gian mpplayer là 11.80132 nó làm tròn đến 11).Chuyển đổi từ NStimeInterval sang CMTime chính xác

Không làm tròn, làm cách nào để đặt thời gian thành AVPlayer?

Mã để nhận mpplayer thời gian và gửi đến AVPlayer lớp

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

Mã trong AVPlayer lớp và chuyển đổi thời gian để 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

Got câu trả lời Nếu tôi thay thế CMTime se ekingCM = CMTimeMake (seekTime, 1); với điều này CMTime seekCM = CMTimeMakeWithSeconds (seekTime, 1000000); tiền phạt hoạt động – kmReddy

+0

Bạn nên đăng câu trả lời đó làm câu trả lời. – chakrit

+1

có hằng số cho số này không? – izzy

Trả lời

4

Hãy thử điều này:

CMTime seekingCM = CMTimeMakeWithSeconds(playbackTime, 1000000); 
Các vấn đề liên quan