Изменить фильтр на видео с помощью GPUImage
У меня проблема при попытке изменить фильтры.
На моем viewDidLoad я делаю это:
filter = [[GPUImageSepiaFilter alloc] init];
[videoCamera addTarget:filter];
filterView = (GPUImageView *)self.view;
[filter addTarget:filterView];
filterView объявляется в.h с GPUImageView *filterView;
Моя проблема на этот метод:
-(void)changeEffect
{
[videoCamera removeAllTargets];
[filter removeAllTargets];
filter = [[GPUImageColorInvertFilter alloc] init];
[videoCamera addTarget:filter];
[filter addTarget: filterView];
}
По инструкции [filter addTarget: filterView] я получаю эту ошибку: * Завершение приложения из-за необработанного исключения "NSInvalidArgumentException", причина: "* - [__ NSArrayM insertObject: atIndex:]: объект не может быть nil"
1 ответ
Вам, вероятно, придется сделать это перед добавлением
filterView = (GPUImageView *)self.view;