Изменить фильтр на видео с помощью 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:]: объект не может быть нулевым»


person swifferina    schedule 22.06.2013    source источник


Ответы (1)


Вероятно, вам придется сделать это перед добавлением

filterView = (GPUImageView *)self.view;
person Nareshkumar    schedule 04.09.2013