Mam okno podglądu kamery, które działa dobrze w 90% przypadków. Czasami jednak, po powrocie do mojej aplikacji, jeśli była ona w tle, podgląd nie zostanie wyświetlony. Jest to kod zadzwonię, gdy widok ładunki:AVCaptureSession nie powiodło się po powrocie z tła
- (void) startCamera {
session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = _cameraView.bounds;
[_cameraView.layer addSublayer:captureVideoPreviewLayer];
captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
captureVideoPreviewLayer.position=CGPointMake(CGRectGetMidX(_cameraView.bounds), 160);
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
if (!input) {
NSLog(@"ERROR: %@", error);
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Important!"
message:@"Unable to find a camera."
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
[alert autorelease];
}
[session addInput:input];
stillImage = [[AVCaptureStillImageOutput alloc] init];
NSDictionary *outputSettings = [[NSDictionary alloc] initWithObjectsAndKeys:AVVideoCodecJPEG , AVVideoCodecKey, nil];
[stillImage setOutputSettings:outputSettings];
[session addOutput:stillImage];
[session startRunning];
}
Jeśli tak się stanie, mogę przejść do mojego widoku preferencji iz powrotem i wsp jest dobrze, ale jest to irytujące bug Chciałbym zabić. Okno podglądu to UIView w moim scenorysie.
Dziękuję, zrobię to i przetestuję to przez kilka godzin :) – mrEmpty
fantastyczne rozwiązanie ....... –
Czekaj - nie jest tak, że 'viewWillAppear' /' Disappear' są tylko wywoływane jak scena porusza się w Twojej aplikacji: nie są one wywoływane, gdy aplikacja wchodzi i wychodzi z pierwszego planu? Czy nie byłoby konieczne zarejestrowanie się w 'UIApplicationWillResignActiveNotification' i użycie tego? [QA z tego przykładem] (http://stackoverflow.com/a/22868754/294884) – Fattie