2011-03-30 50 views
0

我正在开发一个应用程序,允许用UIPanGesture浏览视频。反转MPMoviePlayerController

我已经完全向前运行,这是我遇到的麻烦。

- (void) handlePanGesture:(UIPanGestureRecognizer*)pan{ 
if(pan.state == UIGestureRecognizerStateEnded) 
{ 
    moviePlayer.currentPlaybackRate = 0.00; 
    currentTranslate = 0; 
} 
else 
{ 
    CGPoint translate = [pan translationInView:self.view]; 
    CGFloat xCoord = translate.x; 
    CGFloat diff = (xCoord - currentTranslate); 
    CGFloat currentRate = [moviePlayer currentPlaybackRate]; 
    currentTranslate = xCoord; 

    if (diff>=0) { 
     //If the difference is positive 
     moviePlayer.currentPlaybackRate = currentRate + (diff/100); 
    } else { 
     //If the difference is negative 
     moviePlayer.currentPlaybackRate = (currentRate + (diff/100)) * -1.0; 
    } 
    NSLog(@"%F",moviePlayer.currentPlaybackRate);  
}  
} 

基本上这样做是检测如果手势状态是“结束”,如果不是的话,即手势继续,计算以前的X坐标和当前的x坐标之间的差异。如果差值是正值(即从左到右移动),则通过计算播放速率来提前播放视频。如果差值为负值(向后),则取消差值并计算回放速率。

我似乎无法得到正确的向后运动。谁能帮忙?

回答