Ios 如何检测GPUImageMovie何时完成处理

Ios 如何检测GPUImageMovie何时完成处理,ios,objective-c,gpuimage,Ios,Objective C,Gpuimage,是否有方法检测GPUImageMovie何时完成处理?目前我不想保存电影,因此没有带完成块的GPUImageMovieWriter self.movieFile = [[GPUImageMovie alloc] initWithURL:assetURL]; if([filterType isEqualToString:@"BigApple 1"]){ self.lookupImageSource = [[GPUImagePicture alloc] initWithImage:[UI

是否有方法检测GPUImageMovie何时完成处理?目前我不想保存电影,因此没有带完成块的GPUImageMovieWriter

self.movieFile = [[GPUImageMovie alloc] initWithURL:assetURL];

if([filterType isEqualToString:@"BigApple 1"]){

    self.lookupImageSource = [[GPUImagePicture alloc] initWithImage:[UIImage imageNamed:@"BigApple1.png"]];
    [self.lookupImageSource processImage];
    [self.lookupImageSource useNextFrameForImageCapture];

    filter = [[GPUImageLookupFilter alloc] init];
    [lookupImageSource addTarget:filter atTextureLocation:1];

}

[movieFile addTarget:filter];

[filter addTarget:videoWindow];

[self.imageThumbnail removeFromSuperview];

[movieFile startProcessing];

通过使用计时器,然后检查GPUImageMovie上的进度值,解决了此问题

self.sampleTimer = [NSTimer scheduledTimerWithTimeInterval:0.1f
                                                  target:self
                                                selector:@selector(retrievingSampleProgress)
                                                userInfo:nil
                                                 repeats:YES];

- (void)retrievingSampleProgress {

NSLog(@"Sample Complete:%f",self.movieFile.progress);

if(self.movieFile.progress == 1){
    [self.sampleTimer invalidate];
    self.viewingSample = 0;
}else {
    self.viewingSample = 1;
}

}

应该有一个
startProcessingWithCompletionHandler:
callHi,开始处理上没有完成处理程序。您也可以通过实现
GPUImageMovieDelegate
来检测这一点。