IOS VLC 播放器 开发 滑动快进和后退

来源:互联网 发布:wish在17年好做吗 知乎 编辑:程序博客网 时间:2024/06/14 01:04

刚做好一个基于MobileVLCKit的播放器,其中关于滑动屏幕快进和后退的功能困扰已久,在github下载各种播放器来借鉴,终有所得,故而分享之。


见代码:

#pragma mark - 滑动快进后退- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {    [super touchesBegan:touches withEvent:event];    UITouch *oneTouch = [touches anyObject];    //手指触摸屏幕开始的坐标    beginTouchX = [oneTouch locationInView:oneTouch.view].x;}//滑动快进/快退- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {    [super touchesMoved:touches withEvent:event];    UITouch *oneTouch = [touches anyObject];    // 标志    CGFloat sign = offsetX;    // 手势相对于初始坐标的偏移量    offsetX = [oneTouch locationInView:oneTouch.view].x - beginTouchX;    NSLog(@"%f", offsetX - sign);    // 要改变的进度值1秒    int progressInSec = 1;    if (offsetX - sign > 0 && ([[_movieVCtrl remainingTime] intValue] + progressInSec * 1000) < 0) {        [_movieVCtrl jumpForward:progressInSec];    }    if (offsetX - sign < 0 && ([[_movieVCtrl time] intValue] + progressInSec * 1000) > 0) {        [_movieVCtrl jumpBackward:progressInSec];    }}

要注意的是,如果快进和后退超过视频播放时间边界,播放器就会crash。
0 0
原创粉丝点击