2014-02-26 31 views
1

我试图实现像300 * 300这样的方形视频录制,所以我选择了GPUImage,但是它没有在IOS 7上工作,并给出了错误,如[UIView nextAvailableTextureIndex]: unrecognized selector sent to instance,当我们构建连示例代码 当试图保存GPUImageVideoCamera 其某些时候在[movieWriter startRecording]; 是GPUImage与ios 7兼容还是我们做了一些改变?GPUImageVideoCamera在ios 7上保存视频

这里是代码

 - (void)viewDidLoad 
     { 
      [super viewDidLoad]; 

      videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack]; 


      videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait; 
      videoCamera.horizontallyMirrorFrontFacingCamera = NO; 
      videoCamera.horizontallyMirrorRearFacingCamera = NO; 

      filter = [[GPUImageSepiaFilter alloc] init]; 

     initWithRotation:kGPUImageRotateRightFlipVertical]; 

      [videoCamera addTarget:filter]; 
      GPUImageView *filterView = (GPUImageView *)self.view; 
      [filter addTarget:filterView]; 
     sharing 

      NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"]; 
      unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the old movie 
      NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie]; 
      movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)]; 

      [filter addTarget:movieWriter]; 

     } 



- (IBAction)stopRecording:(id)sender { 

    [filter removeTarget:movieWriter]; 
    videoCamera.audioEncodingTarget = nil; 
    [movieWriter finishRecording]; 

} 

- (IBAction)startRecording:(id)sender { 

    videoCamera.audioEncodingTarget = movieWriter; 
    [movieWriter startRecording]; 
    [videoCamera startCameraCapture]; 

} 
+1

GPUImageVideoCamera和GPUImageMovieWriter工作iOS7下好了。显示如何设置GPUImage筛选器链的一些代码。 –

回答

2

我的猜测是,你修改的.xib或情节串连图板,并没有设置类,它是展示给GPUImageView相机预览视图。

see image

+0

这是前一个现在检查我更新的代码,看到了新的错误 “_OBJC_CLASS _ $ _ GPUImageCropFilter”,从引用: objc级,裁判在recordViewController.o “_OBJC_CLASS _ $ _ GPUImageMovieWriter”,从引用: objc -class-REF在recordViewController.o “_OBJC_CLASS _ $ _ GPUImageVideoCamera”,从引用: objc级,裁判在recordViewController.o “_OBJC_CLASS _ $ _ GPUImageView”,从引用:在recordViewController.o – umairhhhs

+1

这 objc级-REF是另一个错误,所以它应该发布另一个问题。链接器没有看到GPUImage库。检查GPUImage是否列在项目目标中的目标依赖项下。对于进一步的问题,请查看这里的官方文档https://github.com/BradLarson/GPUImage#adding-the-framework-to-your-ios-project –