コード例 #1
0
        private void cameraToolStripMenuItem_Click(object sender, EventArgs e)
        {
            CaptureDeviceForm form = new CaptureDeviceForm();

            form.StartPosition = FormStartPosition.CenterScreen;

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                // create video source
                VideoCaptureDevice c = new VideoCaptureDevice();
                c.Source = form.Device;

                String sourceName = showGetSourceNameBox();
                if (sourceName != null) //user didn't cancel
                {
                    Log.info(String.Format("Video source: {0}", c.Source));
                    VideoSource r = new VideoSource(sourceName, c);
                    sources.Add(r);
                    r.RemoveSelected += new VideoSource.RemoveEventHandler(r_RemoveSelected);
                    sourcesToolStripMenuItem.DropDown.Items.Add(r.ContextMenu);
                    r.setViewerGlobalStickey(showAllToolStripMenuItem.Checked);
                    globalOptions.updateViewer(r);
                    r.startCamera(); //start camera by default
                }
            }
        }
コード例 #2
0
        private void mjpegToolStripMenuItem_Click(object sender, EventArgs e)
        {
            URLForm form = new URLForm();

            form.Description = "Enter URL of an updating JPEG from a web camera";

            //Load recent URLs
            String[] urls = new String[recentURLs.Count];
            recentURLs.CopyTo(urls, 0);
            form.URLs = urls;

            form.StartPosition = FormStartPosition.CenterScreen;
            if (form.ShowDialog(this) == DialogResult.OK)
            {
                //remove existing item (so it will be placed at top of list)
                if (recentURLs.Contains(form.URL))
                {
                    recentURLs.Remove(form.URL);
                }
                //update recent URLs
                if (recentURLs.Count == RECENT_URL_LIMIT)
                {
                    recentURLs.RemoveAt(RECENT_URL_LIMIT - 1);
                }
                recentURLs.Add(form.URL);

                //open the stream
                String sourceName = showGetSourceNameBox();
                if (sourceName != null) //user didn't select cancel
                {
                    MJPEGStream s = new MJPEGStream();
                    s.Source = form.URL;
                    Log.info(String.Format("Video source: {0}", s.Source));
                    VideoSource v = new VideoSource(sourceName, s);
                    sources.Add(v);
                    v.RemoveSelected += new VideoSource.RemoveEventHandler(r_RemoveSelected);
                    v.setViewerGlobalStickey(showAllToolStripMenuItem.Checked);
                    globalOptions.updateViewer(v);
                    v.startCamera(); //start camera by default
                }
            }
        }