Пример #1
0
        void SelectCaptureDevice(String lastCapDevStr = null)
        {
            ScreenSource selectedScreenSource = ScreenSource.Undefined;

            if (comboBoxDeviceCapture.SelectedIndex < 0)
            {
                return;
            }
            string selectedDevice = getSelectedTargetDeviceName();

            if (selectedDevice == null)
            {
                return;
            }
            string selectedSourceString = comboBoxDeviceCapture.SelectedItem.ToString();

            ScreenSource currentScreenSource;

            if (comboBoxDeviceCapture.SelectedIndex == 0)
            {
                currentScreenSource = ScreenSource.Disabled;
            }
            else if (comboBoxDeviceCapture.SelectedIndex == 1)
            {
                currentScreenSource = ScreenSource.ScreenCap;
            }
            else
            {
                int index = captureComboBoxItemToIndex(comboBoxDeviceCapture.SelectedItem.ToString());
                currentScreenSource = IndexToScreenSource(index);
            }

            selectedScreenSource = currentScreenSource;

            if (selectedDevice == GetCurrentTargetDevice())
            {
                this.Enabled = false;
                DaVinciAPI.NativeMethods.SetCurrentCaptureDevice(ScreenSourceToCaptureName(selectedScreenSource));
                refreshDeviceProperties();
                this.Enabled = true;
            }
            else
            {
                this.Enabled = false;
                DaVinciAPI.NativeMethods.SetCaptureDeviceForTargetDevice(selectedDevice, ScreenSourceToCaptureName(selectedScreenSource));
                this.Enabled = true;
            }
        }
Пример #2
0
        private string ScreenSourceToCaptureName(ScreenSource screenSource)
        {
            switch (screenSource)
            {
            case ScreenSource.Disabled:
                return("Disabled");

            case ScreenSource.ScreenCap:
                return("HyperSoftCam");

            case ScreenSource.CameraIndex0:
                return(TestUtil.captureDevices[2]);

            case ScreenSource.CameraIndex1:
                return(TestUtil.captureDevices[3]);

            case ScreenSource.CameraIndex2:
                return(TestUtil.captureDevices[4]);

            case ScreenSource.CameraIndex3:
                return(TestUtil.captureDevices[5]);

            case ScreenSource.CameraIndex4:
                return(TestUtil.captureDevices[6]);

            case ScreenSource.CameraIndex5:
                return(TestUtil.captureDevices[7]);

            case ScreenSource.CameraIndex6:
                return(TestUtil.captureDevices[8]);

            case ScreenSource.CameraIndex7:
                return(TestUtil.captureDevices[9]);

            default:
                return("Undefined");
            }
        }
Пример #3
0
 public void OnSourceUpdated(ScreenSource source)
 {
     Console.WriteLine("OnSourceUpdated");
 }
Пример #4
0
 public void OnSourceRemoved(ScreenSource source)
 {
     Console.WriteLine("OnSourceRemoved");
 }