1

私がやろうとしているのはこれです。

- (void)viewDidLoad
{
    [super viewDidLoad];


    NSURL *url2 = [[NSBundle mainBundle] URLForResource:@"NAN" withExtension:@"mov"];
    GPUImageMovie *movie2 = [[GPUImageMovie alloc] initWithURL:url2];

    movie2.playAtActualSpeed = YES;

    filter0 = [[GPUImageSepiaFilter alloc] init];

    [movie2 addTarget:filter0];
    [filter0 addTarget:view0]; // view0 is a GPUImageView taken in nib

    [self recordVideo];
    isRecording = YES;

    [movie2 startProcessing];

    [movieWriter setCompletionBlock:^{
        if (isRecording) {
            [self stopRecording];
            isRecording = NO;
        }    }];

}


-(void)recordVideo {
    NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:@"file.mov"];
    NSURL *url = [NSURL fileURLWithPath:path];

    NSFileManager *fm = [NSFileManager defaultManager];
    [fm removeItemAtPath:path error:nil];

    movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:url size:CGSizeMake(640, 480)];
    [filter0 addTarget:movieWriter];
    [movieWriter startRecording];
}


-(void)stopRecording {
    [movieWriter finishRecording];
}

しかし、これはまったく機能していません。このコードを使用すると、常に黒いビデオが表示されます。クラッシュはありません。元のビデオと同じ長さの黒いビデオが表示されます。誰もが同じ問題に直面しましたか。親切に助けてください。

どんな助けでも素晴らしいでしょう。

4

0 に答える 0