- (void)viewDidLoad {
[super viewDidLoad];
self.slider.maximumValue = 30;
}
- (void)slide:(UISlider *)slider {
NSLog(@"....progress slider value:%d", (int)slider.value);
CMTime showingTime = CMTimeMakeWithSeconds((int)slider.value, 1);
[self.player seekToTime:showingTime];
}
每次我滑动 UISlider 时,控制台都会在我滑动时记录正确的数字。像 6 秒。但是 slider 会跳回 0;如果我将它滑动到大于 10 的值,比如 14,它会滑回 10。
有谁能够帮助我 ?谢谢
最佳答案
试试这个。
首先,您必须根据 UISlider 的值初始化一个 CMTime 对象。然后调用 AVPlayer 对象的 seek to time 方法。将 CMTime 对象作为参数传递。
CMTime showingTime = CMTimeMake(slider.value *1000, 1000);
[self.player seekToTime:showingTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
关于ios - AVPlayer seekToTime 不正确使用 UISlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237386/