AVPlayer seekToTime不正确使用UISlider

时间:2015-07-06 03:30:38

标签: ios avplayer uislider

- (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秒。但滑块会跳回0;如果我将它滑动到大于10的值,如14,它将滑回到10.

任何人都可以帮助我吗?谢谢

1 个答案:

答案 0 :(得分:3)

试试这个。

首先必须根据UISlider的值初始化CMTime对象。然后你调用AVPlayer对象寻找时间方法。将CMTime对象作为参数传递。

CMTime showingTime = CMTimeMake(slider.value *1000, 1000);

[self.player seekToTime:showingTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];