Ich verwende AVCaptureVideoPreviewLayer
, um das Live-Video zu übergeben und openGL
Shader in Echtzeit anwenden. Bei der Verwendung der Frontkamera wird das Video gespiegelt, ich möchte es vor der Anwendung des Shaders entspiegeln.AVCaptureVideoPreviewLayer Front Kamera spiegeln (Unmirror) der Pixelpuffer vor dem Passieren zu OpenGL Shader
Kann mir jemand helfen?
Hinzugefügt: Code für zu Frontkamera Schalt:
-(void)showFrontCamera{
NSLog(@"inside showFrontCamera");
[captureSession removeInput:videoInput];
// Grab the front-facing camera
AVCaptureDevice *backFacingCamera = nil;
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *device in devices) {
if ([device position] == AVCaptureDevicePositionFront) {
backFacingCamera = device;
}
}
// Add the video input
NSError *error = nil;
videoInput = [[[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error] autorelease];
if ([captureSession canAddInput:videoInput]) {
[captureSession addInput:videoInput];
}
}
Können Sie weitere Informationen zur Verfügung stellen, wie, Code-Snippet wo wechseln Sie die Kameras? Und was passiert, wenn Sie zurück zur Rückfahrkamera wechseln? Ist es noch gespiegelt? –
Hallo Fahri, habe den Code hinzugefügt, um auf Frontkamera umzuschalten. Das Problem ist, dass das Video der Frontkamera gespiegelt wird, was für den Portrait-Modus gut ist, aber wenn ich die Kamera drehe, wird das Video umgedreht und wird auf den Kopf gestellt. z.B. das Gesicht einer Person dreht sich um 180 *. –
In meinem früheren Kommentar, durch Drehen der Kamera, meine ich den Wechsel in den Querformat-Modus. –