1

更新:我现在知道我正在向已释放的实例发送消息,我想我已经正确设置了我的项目,但开始怀疑这一点......

我已经阅读了布拉德的文档并将我的项目设置为无弧,这可能与这种情况有关。我已将链接器标志 -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];

欢迎蚂蚁帮忙或指点!

4

0 回答 0