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

本文介绍了一种使用MobileVLCKit实现播放器中滑动屏幕进行快进和后退的方法。通过监听触摸屏上的触控事件,实现了手指在屏幕上左右滑动时播放器能够快速前进或后退一秒的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚做好一个基于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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值