Предварительный просмотр веб-камеры Xamarin MonoMac в главном окне (AVCaptureVideoPreviewLayer)

Я создал простое приложение Xamarin MonoMac Mac (голые кости 1 окно). Я пытаюсь получить предварительный просмотр моей веб-камеры в главном окне приложения. Я использую классы AVFoundation, чтобы получить доступ к веб-камере.

Я могу успешно подключиться к веб-камере Mac, и индикатор веб-камеры загорается, но я не вижу видео в главном окне.

Мой код С#

        session = new AVCaptureSession () { SessionPreset = AVCaptureSession.PresetMedium };

        var captureDevice = AVCaptureDevice.DefaultDeviceWithMediaType (AVMediaType.Video);

        var input = AVCaptureDeviceInput.FromDevice (captureDevice);
        if (input == null){
            Console.WriteLine ("No input - this won't work on the simulator, try a physical device");

        }

        session.AddInput (input);

        AVCaptureVideoPreviewLayer captureVideoPreviewLayer = new AVCaptureVideoPreviewLayer (session);

        **//----> preview layer onto Window here ?!**

        session.StartRunning ();

person G-Man    schedule 21.03.2014    source источник
comment
Вы должны сообщить устройству камеры, куда передавать изображения. CaptureVideoPreviewLayer .Frame = this.Frame;   -  person Ross Bush    schedule 22.03.2014


Ответы (1)


Это исправило - надеюсь, это поможет кому-то ..

            AVCaptureVideoPreviewLayer captureVideoPreviewLayer = AVCaptureVideoPreviewLayer.FromSession (session);

            this.Window.ContentView.Layer=captureVideoPreviewLayer;
            this.Window.ContentView.WantsLayer=true;

            session.StartRunning ();
person G-Man    schedule 22.03.2014