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
}
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
Bạn nên đăng câu trả lời đó làm câu trả lời. – chakrit
có hằng số cho số này không? – izzy