手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

iOS VLC如何通过手势控制播放进度、音量与亮度

时间:2024-10-12 01:04:31

1、预览界面增加轻扫手势,方便实现音量,亮度,播放进度的控制,self.playView为播放预览层,如下:UIPanGestureRecognizer *panGes = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(onActionPanGes:)];[self.playView addGestureRecognizer:panGes];

iOS VLC如何通过手势控制播放进度、音量与亮度

2、根据手势的状态改变来判断方向,根据手势滑动的方向来控制音量,亮度以及播放进度,所有实现如下:

iOS VLC如何通过手势控制播放进度、音量与亮度
iOS VLC如何通过手势控制播放进度、音量与亮度

3、控制判断主要根据手势状态,每次响应手势获取到手势在播放预览层的相关位置点,在手势状态改变时进行逻辑处理,如下:

iOS VLC如何通过手势控制播放进度、音量与亮度

4、在手势状态改变下根据ABS(speedDir.x) > ABS(speedDir.y)来判断手势的方向,大于则为左右滑动,小于为上下滑动,如下:

iOS VLC如何通过手势控制播放进度、音量与亮度

5、[panGes translationInView:self.playView].x > 0来判断手势方向为向右滑动,<0则为左滑动,在相应判断下使用shortJumpForward与shortJumpBackward来实现快进与快退,如下:BOOL bBackWard = YES; if ([panGes translationInView:self.playView].x > 0) { ///< 右滑,改变播放进度 [self.player shortJumpForward]; bBackWard = NO; }else { ///< 左滑,改变播放进度 [self.player shortJumpBackward]; bBackWard = YES; } [self makeToast:(bBackWard == YES ? @"<< 快退": @"快进 >>") duration:2.0 position:[NSValue valueWithCGPoint:CGPointMake(self.playView.center.x, self.playView.center.y)]];

iOS VLC如何通过手势控制播放进度、音量与亮度

6、localPoint.x > self.playView.bounds.size.width * 0.5判断左右屏幕的上下滑动,音量控制中往上为加往下为减:if (localPoint.x > self.playView.bounds.size.width * 0.5) { ///< 音量控制 if ([panGes translationInView:self.playView].y > 0) { ///< 音量,减 self.sliderVolume.value -= 0.03; }else { ///< 音量,加 self.sliderVolume.value += 0.03; } [self makeToast:[NSString stringWithFormat:@"音量 %.0f%%",self.sliderVolume.value * 100] duration:2.0 position:[NSValue valueWithCGPoint:CGPointMake(self.playView.center.x, self.playView.center.y)]];

iOS VLC如何通过手势控制播放进度、音量与亮度

7、亮度控制使用[UIScreen mainScreen].brightness += 0.01来控制屏幕亮度,如下:if ([panGes translationInView:self.playView].y > 0) { ///< 亮度,减 [UIScreen mainScreen].brightness -= 0.01; }else { ///< 亮度,加 [UIScreen mainScreen].brightness += 0.01; } [self makeToast:[NSString stringWithFormat:@"亮度 %.0f%%",[UIScreen mainScreen].brightness * 100] duration:2.0 position:[NSValue valueWithCGPoint:CGPointMake(self.playView.center.x, self.playView.center.y)]];

iOS VLC如何通过手势控制播放进度、音量与亮度
© 手抄报圈