Example #1
0
        static void Main(string[] args)
        {
            Capturer capturer = new Capturer(); // create new screen capturer object


            capturer.CapturingType = CaptureAreaType.catScreen;   // set capturing area type to catScreen to capture whole screen

            capturer.OutputFileName = "EntireScreenCaptured.wmv"; // set output video filename to .WMV or .AVI file

            // set output video width and height
            capturer.OutputWidth  = 640;
            capturer.OutputHeight = 480;

            // uncomment to enable recording of semitransparent or layered windows (Warning: may cause mouse cursor flickering)
            // capturer.CaptureTransparentControls = true;


            // WMV and WEBM output use WMVVideoBitrate property to control output video bitrate
            // so try to increase it by x2 or x3 times if you think the output video are you are getting is laggy
            // capturer.WMVVideoBitrate = capturer.WMVVideoBitrate * 2;


            // set border around captured area if we are not capturing entire screen
            if (
                capturer.CapturingType != CaptureAreaType.catScreen &&
                capturer.CapturingType != CaptureAreaType.catWebcamFullScreen
                )
            {
                // set border style
                capturer.CaptureAreaBorderType  = CaptureAreaBorderType.cabtDashed;
                capturer.CaptureAreaBorderColor = (uint)ColorTranslator.ToOle(Color.Red);
            }

            // uncomment to set Bytescout Lossless Video format output video compression method
            // do not forget to set file to .avi format if you use Video Codec Name
            // capturer.CurrentVideoCodecName = "Bytescout Lossless";

            capturer.Run(); // run screen video capturing

            // IMPORTANT: if you want to check for some code if need to stop the recording then make sure you are
            // using Thread.Sleep(1) inside the checking loop, so you have the loop like
            // Do {
            // Thread.Sleep(1)
            // }
            // While(StopButtonNotClicked);


            // wait for 1 second (1000 msec)
            Thread.Sleep(1000);

            Console.WriteLine("Adding blackout regions after 1 sec of recording...");

            capturer.BlackoutAddArea(20, 100, 500, 80);
            capturer.BlackoutAddArea(10, 200, 550, 80);
            capturer.BlackoutAddArea(20, 400, 550, 120);

            // wait for 15 seconds (15000 msec)
            Thread.Sleep(15000);

            Console.WriteLine("Remove blackout regions...");

            // reset all blackouts
            capturer.BlackoutReset();

            // wait for 9 seconds more
            Thread.Sleep(9000);


            capturer.Stop(); // stop video capturing

            // Release resources
            System.Runtime.InteropServices.Marshal.ReleaseComObject(capturer);
            capturer = null;

            Console.WriteLine("Done");

            Process.Start("EntireScreenCaptured.wmv");
        }