AVPlayer seekToTime 不正确使用 UISlider

Posted

技术标签:

【中文标题】AVPlayer seekToTime 不正确使用 UISlider【英文标题】:AVPlayer seekToTime not correct With UISlider 【发布时间】:2015-07-06 03:30:37 【问题描述】:
- (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】:

试试这个。

你首先要根据 UISlider 的值初始化一个 CMTime 对象。然后调用 AVPlayer 对象的 seek to time 方法。将 CMTime 对象作为参数传递。

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

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

【讨论】:

以上是关于AVPlayer seekToTime 不正确使用 UISlider的主要内容,如果未能解决你的问题,请参考以下文章

AVPlayer seekToTime 永远不会完成

AVPlayer seektotime with Pangesturerecognizer

AVPlayer seekToTime:循环播放短视频时性能不佳

AvPlayer seekToTime 问题

AVPlayer seekToTime 导致播放器停止播放

iOS AVPlayer seektotime 锁定在某些点