更新:我现在知道我正在向已释放的实例发送消息,我想我已经正确设置了我的项目,但开始怀疑这一点......
我已经阅读了布拉德的文档并将我的项目设置为无弧,这可能与这种情况有关。我已将链接器标志 -fobjc-arc 并将 GPUImage 和我的目标添加到 ios 4.3。
任何有同样问题的人发现他/她做错了什么????
几天来我一直在寻找答案,但我无法修复它并且已经没有想法了。
每当我尝试在GPUImageMovieWriter
我的应用程序崩溃 (EXC_BADACCESS) 上录制电影时:
CVPixelBufferPoolCreatePixelBuffer (NULL, [assetWriterPixelBufferInput pixelBufferPool], &renderTarget);
完整代码:
NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/file.mov"];
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];
GPUImageSepiaFilter *sepiaFilter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:sepiaFilter];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(640.0, 480.0)];
movieWriter.encodingLiveVideo = YES;
[sepiaFilter addTarget:movieWriter];
movieWriter.shouldPassthroughAudio = YES;
videoCamera.audioEncodingTarget = movieWriter;
[movieWriter startRecording];
欢迎蚂蚁帮忙或指点!