0

我有一个自定义 UISider 控件,当我滑动控件时,我将 requestThumbnailImagesAtTimes 发送到 MPMoviePlayerController。

- (void)sliderPopoverView:(UISlider*)slider
{
    self.currentSliderValue = slider.value;
    [self.moviePlayer requestThumbnailImagesAtTimes:[NSArray arrayWithObject:[NSNumber numberWithDouble:self.currentSliderValue]]
                                             timeOption:MPMovieTimeOptionNearestKeyFrame];
} 

- (void)requestFinishThumbnail:(NSNotification*)notification
{
    UIImage *thumbnailImage = [notification.userInfo objectForKey:MPMoviePlayerThumbnailImageKey];
    if (thumbnailImage) {
        _bottomView.sliderPopover.popover.thumbnailView.image = thumbnailImage;
    }  
}

然后我可以收到很多图片来展示。但是主线程被阻塞了。很难滑动自定义控件。花费大量时间。

4

1 回答 1

0

原因可能是方法

- (void)sliderPopoverView:(UISlider*)slider

每次滑块移动一点时调用。这将导致您的 MPMoviePlayerController 不断生成缩略图。您可能应该尝试减少调用生成缩略图的方法的次数。

于 2013-05-14T07:22:25.083 回答