Beispiel #1
0
        private void Wizard()
        {
            using (var fc = new FindCameras())
            {
                if (fc.ShowDialog(this) != DialogResult.OK)
                {
                    return;
                }
                SetSourceIndex(fc.VideoSourceType);



                CameraControl.Camobject.settings.cookies = fc.Cookies;

                CameraControl.Camobject.settings.tokenconfig.tokenpath = fc.tokenPath;
                CameraControl.Camobject.settings.tokenconfig.tokenpost = fc.tokenPost;
                CameraControl.Camobject.settings.tokenconfig.tokenport = fc.tokenPort;

                switch (fc.VideoSourceType)
                {
                case 0:

                    break;

                case 1:
                    cmbMJPEGURL.Text = fc.FinalUrl;
                    break;

                case 2:

                    break;

                case 5:

                    break;

                case 9:
                    onvifWizard1.ddlDeviceURL.Text = fc.FinalUrl;
                    onvifWizard1.GoStep1();
                    return;
                }

                if (!string.IsNullOrEmpty(fc.Flags))
                {
                    string[] flags = fc.Flags.Split(',');
                    foreach (string f in flags)
                    {
                        if (string.IsNullOrEmpty(f))
                        {
                            continue;
                        }
                        switch (f.ToUpper())
                        {
                        case "FBA":
                            CameraControl.Camobject.settings.forcebasic = true;
                            break;
                        }
                    }
                }
                if (fc.Ptzid > -1)
                {
                    CameraControl.Camobject.ptz                 = fc.Ptzid;
                    CameraControl.Camobject.ptzentryindex       = fc.Ptzentryid;
                    CameraControl.Camobject.settings.ptzchannel = fc.Channel;

                    CameraControl.Camobject.settings.ptzusername = fc.Username;
                    CameraControl.Camobject.settings.ptzpassword = fc.Password;
                }

                if (!string.IsNullOrEmpty(fc.AudioModel))
                {
                    var uri = new Uri(fc.FinalUrl);
                    if (!string.IsNullOrEmpty(uri.DnsSafeHost))
                    {
                        CameraControl.Camobject.settings.audioip = uri.DnsSafeHost;
                    }
                    CameraControl.Camobject.settings.audiomodel    = fc.AudioModel;
                    CameraControl.Camobject.settings.audioport     = uri.Port;
                    CameraControl.Camobject.settings.audiousername = fc.Username;
                    CameraControl.Camobject.settings.audiopassword = fc.Password;
                }
                SetupVideoSource();

                CameraControl.Camobject.name = FriendlyName;

                if (fc.AudioSourceType > -1)
                {
                    var vc = CameraControl.VolumeControl;
                    if (vc == null)
                    {
                        vc = MainForm.InstanceReference.AddCameraMicrophone(CameraControl.Camobject.id,
                                                                            CameraControl.Camobject.name + " mic");
                        CameraControl.Camobject.settings.micpair = vc.Micobject.id;
                        vc.Micobject.alerts.active           = false;
                        vc.Micobject.detector.recordonalert  = false;
                        vc.Micobject.detector.recordondetect = false;
                        CameraControl.SetVolumeLevel(vc.Micobject.id);
                    }
                    vc.Disable();
                    vc.Micobject.settings.typeindex   = fc.AudioSourceType;
                    vc.Micobject.settings.sourcename  = fc.AudioUrl;
                    vc.Micobject.settings.needsupdate = true;
                }
                FriendlyName   = CameraControl.Camobject.name;
                CameraLogin    = fc.Username;
                CameraPassword = fc.Password;
            }
        }