فهرست منبع

Movie View: delay playback position selector by .3 secs

This improves seeking performance, especially on highspeed scrubbing
Felix Paul Kühne 12 سال پیش
والد
کامیت
b565defb59
1فایلهای تغییر یافته به همراه11 افزوده شده و 1 حذف شده
  1. 11 1
      AspenProject/VLCMovieViewController.m

+ 11 - 1
AspenProject/VLCMovieViewController.m

@@ -17,6 +17,7 @@
     BOOL _shouldResumePlaying;
     BOOL _viewAppeared;
     BOOL _displayRemainingTime;
+    BOOL _positionSet;
 }
 
 @property (nonatomic, strong) UIPopoverController *masterPopoverController;
@@ -408,10 +409,19 @@
 
 - (IBAction)positionSliderAction:(UISlider *)sender
 {
-    _mediaPlayer.position = sender.value;
+    [self performSelector:@selector(_setPositionForReal) withObject:nil afterDelay:0.3];
+    _positionSet = NO;
     [self resetIdleTimer];
 }
 
+- (void)_setPositionForReal
+{
+    if (!_positionSet) {
+        _mediaPlayer.position = _positionSlider.value;
+        _positionSet = YES;
+    }
+}
+
 - (void)mediaPlayerTimeChanged:(NSNotification *)aNotification {
     self.positionSlider.value = [_mediaPlayer position];
     if (_displayRemainingTime)