使用下面的代碼(在viewDidLoad),當我第一次從另一個視圖延續到這個靜態攝像機視圖(按下按鈕),一切工作正常。然後,我派出一位代表,並從以前的觀點中駁回了這一觀點。GPUImageView黑色當ViewController重新加載
但是,當我再次按下第一個視圖上的按鈕以再次顯示相機視圖時,屏幕顯示爲黑色。我已將屬性更改爲實例變量,確保預覽視圖在每一步都存在,等等。
但是,當我拍照時(即使當屏幕是黑色的,並且它正在註冊焦點和曝光活動並響應觸摸)並顯示一幅顯示圖像的模態視圖以供審閱,我確實看到了我應該看到的內容。當我解散模式時,相機視圖再次以無黑色工作。
那麼,我在這裏錯過了什麼?這在框架,IB,故事板等方面應該很簡單。謝謝!
stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPresetPhoto cameraPosition:AVCaptureDevicePositionBack];
stillCamera.outputImageOrientation = UIInterfaceOrientationLandscapeLeft;
UIImage *inputImage = [UIImage imageNamed:@"blank-1x1.png"];
sourcePicture = [[GPUImagePicture alloc] initWithImage:inputImage smoothlyScaleOutput:YES];
[sourcePicture processImage];
filter = [[GPUImageChromaKeyBlendFilter alloc] init];
[(GPUImageChromaKeyBlendFilter *)filter setColorToReplaceRed:0.0 green:1.0 blue:0.0];
[(GPUImageChromaKeyBlendFilter *)filter setThresholdSensitivity:0.37f];
[stillCamera addTarget:filter];
[sourcePicture addTarget:filter];
[filter addTarget:videoPreviewView];
[stillCamera startCameraCapture];
有這個完全相同的問題。 GPUImageView的內容是黑色的,但我可以看到圖像數據正在通過過濾器鏈正確移動,因爲我可以存儲生成的UIImage並將其保存爲照片滾動。黑度從不顯示視圖控制器第一次出現,而不是每次顯示視圖控制器(稍等一會再顯示它似乎使它不太可能失敗)。 – Bemmu
顯示包含gpuimageview的視圖控制器並解散它幾十次後,我最終也發生了崩潰。可能是一個提示:http://i.imgur.com/4RK2qkb.png – Bemmu
我發現這隻發生,如果我在我的場景中有一個GPUImageView,並通過引用插座引用,然後給該引用[self.filter addTarget :(GPUImageView *)self.gpuImageView];相反,如果我將ViewController的根視圖(?)設置爲GPUImageView,然後在[self.filter addTarget:(GPUImageView *)self.view]中使用該視圖。有用。 – Bemmu