             break
         }
     }
-
-    fileprivate func horizontalMoved(_ value: CGFloat) {
-
+    
+    private func horizontalMoved(_ value: CGFloat) {
+        
         guard  let player = self.player , let horizontalPanDelegate =  self.controlView as? EZPlayerHorizontalPan ,  player.canSlideProgress else {
             return
         }
         if let position = self.position , !position.isNaN ,let duration = player.duration , !duration.isNaN{
-
+            
             let nextPosition = position + TimeInterval(value) / 100.0 * (duration/400)
-
+            
             if nextPosition > duration {
                 self.position = duration
             }else if nextPosition < 0 {

        }
        self.player = player
    }
    private var trigger = EZPlayerSlideTrigger.none
    private var isHorizontalPan = true
    private var position : TimeInterval?

    @objc fileprivate func panDirection(_ pan: UIPanGestureRecognizer) {
        guard  let player = self.player else {
            return
        }
        let velocityPoint = pan.velocity(in: self)

        switch pan.state {
        case UIGestureRecognizerState.began:

            let x = fabs(velocityPoint.x)
            let y = fabs(velocityPoint.y)

            if x > y {

                if let horizontalPanDelegate =  self.controlView as? EZPlayerHorizontalPan , player.canSlideProgress{
                    self.isHorizontalPan = true
                    self.position = player.currentTime
                    horizontalPanDelegate.player(player, progressWillChange: self.position ?? 0)
                }

            } else {
                self.isHorizontalPan = false
                if pan.location(in: self).x > self.bounds.size.width / 2 {

                    }
                }
            }
            
        default:
            break
        }
    }
    
    @objc private func singleTapGestureTapped(_ sender: UIGestureRecognizer) {
        guard  let player = self.player else {
            return
        }
        if let gestureRecognizer =  self.controlView as? EZPlayerGestureRecognizer{
            gestureRecognizer.player(player, singleTapGestureTapped: sender as! UITapGestureRecognizer )
        }
        NotificationCenter.default.post(name: .EZPlayerTapGestureRecognizer, object: player, userInfo: [Notification.Key.EZPlayerNumberOfTaps: 1, Notification.Key.EZPlayerTapGestureRecognizer: sender as! UITapGestureRecognizer])
        
    }
    
    @objc private func doubleTapGestureTapped(_ sender: UIGestureRecognizer) {
        guard  let player = self.player else {
            return
        }
        if let gestureRecognizer =  self.controlView as? EZPlayerGestureRecognizer{
            gestureRecognizer.player(player, doubleTapGestureTapped: sender as! UITapGestureRecognizer )
        }
        NotificationCenter.default.post(name: .EZPlayerTapGestureRecognizer, object: player, userInfo: [Notification.Key.EZPlayerNumberOfTaps: 2,Notification.Key.EZPlayerTapGestureRecognizer: sender  as! UITapGestureRecognizer])
        
    }
    
    private func verticalMoved(_ value: CGFloat,player: EZPlayer, type: EZPlayerSlideTrigger) {
        switch type {
        case .volume:
            player.systemVolume -= Float(value / 10000)
