2013-06-28 23 views
7

geçmeden önce pixelbuffer çevirerek canlı video iletmek ve openGL shader gerçek zamanlı olarak uygulamak için AVCaptureVideoPreviewLayer kullanıyorum. Ön kameranın kullanılması sırasında, video yansıtılıyor, gölgelendiriciyi uygulamadan önce aynanın ayrılmasını istiyorum.AVCaptureVideoPreviewLikeer kamera opengl shader

Herhangi biri yardımcı olabilir mi?

Eklendi: Ön kameraya geçiş için kod: Zaten bir önizleme tabakası varsa

-(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]; 
    } 

} 
+0

sen gibi daha fazla ayrıntı sağlayabilir, kameraları değiştirdiğiniz kod snippet'i? Ve arka kameraya geri döndüğünüzde ne oluyor? Hala aynalı mı? –

+0

Merhaba Fahri, ön kameraya geçmek için kodu ekledik. Sorun şu ki, ön kameranın görüntüsü yansıtılıyor, bu portre modu için iyi, ama kamerayı döndürdüğümde, video ters çevriliyor ve ters dönüyor. Örneğin. Bir kişinin yüzü 180 ° döner *. –

+0

Önceki yorumuma göre, kamerayı döndürerek, manzara moduna geçmeyi kastediyorum. –

cevap

4

, sadece bağlantı güncellemek zorunda:

[[previewLayer connection] setAutomaticallyAdjustsVideoMirroring:NO]; 
[[previewLayer connection] setVideoMirrored:NO]; 
+1

Oturum oluştururken bu kod satırını eklemeyi denedim, ancak ön kamera da önizleme katmanında ters çevriliyor. Ve ben bu etkiyi istemiyorum, sadece sonucun artık dönmemesini istiyorum. Bu yüzden ön kameraya geçerken bu kod satırını eklemeyi denedim, ancak hiçbir etkisi yok. Başarıyla kullandıysanız, bu konuda bana yardımcı olabilir misiniz? – CarmenA