예제 #1
0
        private void OnMicrophoneSelected(object sender, EventArgs e)
        {
            if (comboBoxAudio.SelectedIndex == 0)
            {
                return;
            }

            if (_audioPlayerControl1 != null)
            {
                _audioPlayerControl1.Disconnect();
                _audioPlayerControl1.Close();
                _audioPlayerControl1.Dispose();
                _audioPlayerControl1 = null;
            }

            /*
             * if (_userContext != null)
             * {
             *  VideoOS.Platform.SDK.MultiEnvironment.Logout(_userContext);
             *  _userContext = null;
             * }*/

            try
            {
                if (_userContext == null)
                {
                    _userContext = VideoOS.Platform.SDK.MultiEnvironment.CreateSingleServerUserContext(textBoxUser.Text,
                                                                                                       textBoxPassword.Text, checkBoxAd.Checked, new UriBuilder(textBoxServer.Text).Uri);
                    VideoOS.Platform.SDK.MultiEnvironment.LoginUserContext(_userContext, false, false);
                }

                if (comboBoxAudio.SelectedIndex == 0 || comboBoxAudio.SelectedIndex > comboBoxAudio.Items.Count)
                {
                    return;
                }
                string name = comboBoxAudio.Items[comboBoxAudio.SelectedIndex].ToString();
                string xml  = File.ReadAllText(name);

                _audioPlayerControl1 = ClientControl.Instance.GenerateAudioPlayerControl();

                panel2.Controls.Clear();
                panel2.Controls.Add(_audioPlayerControl1);

                //_imageViewerControl1.CameraFQID = _selectItem1.FQID;  --- this is replaced with below line:
                _audioPlayerControl1.SetAudioXml(
                    _userContext.Configuration.ServerFQID.ServerId.UserContext, xml);

                //FQID cameraFQID = _audioPlayerControl1.CameraFQID;
                //_selectItem1 = _userContext.Configuration.GetItem(cameraFQID);


                _audioPlayerControl1.Initialize();
                _audioPlayerControl1.Connect();
                _audioPlayerControl1.PlaybackControllerFQID = _playbackFQID;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable to login - " + ex.Message);
            }
        }
예제 #2
0
        private void Window_Closed(object sender, EventArgs e)
        {
            _imageViewerControl.Disconnect();
            _imageViewerControl.Close();
            _imageViewerControl.Dispose();

            if (_microphonePlayer != null)
            {
                _microphonePlayer.Disconnect();
                _microphonePlayer.Close();
                _microphonePlayer.Dispose();
            }

            if (_speakerPlayer != null)
            {
                _speakerPlayer.Disconnect();
                _speakerPlayer.Close();
                _speakerPlayer.Dispose();
            }


            if (_playbackFQID != null)
            {
                ClientControl.Instance.ReleasePlaybackController(_playbackFQID);
                _playbackFQID = null;
            }
            _mc?.Dispose();
            _dateTimePicker?.Dispose();
            _winFormsHost.Dispose();
        }
예제 #3
0
 /// <summary>
 /// Method that is called when the view item is closed. The view item should free all resources when the method is called.
 /// Is called when userControl is not displayed anymore. Either because of
 /// user clicking on another View or Item has been removed from View.
 /// </summary>
 public override void Close()
 {
     _playbackWpfUserControl.Close();
     _imageViewerControl.Disconnect();
     _imageViewerControl.Close();
     _audioPlayerControl.Disconnect();
     _audioPlayerControl.Close();
     ClientControl.Instance.ReleasePlaybackController(_playbackFQID);
     RemoveApplicationEventListeners();
 }
예제 #4
0
        /// <summary>
        /// Is called when userControl is not displayed anymore. Either because of
        /// user clicking on another View or Item has been removed from View.
        /// </summary>
        public override void Close()
        {
            RemoveApplicationEventListeners();
            if (_imageViewerControl.CameraFQID != null)
            {
                _imageViewerControl.Disconnect();
                _imageViewerControl.Close();
            }
            if (_audioPlayerControl.MicrophoneFQID != null)
            {
                _audioPlayerControl.Disconnect();
                _audioPlayerControl.Close();
            }
            _imageViewerControl.Dispose();
            _imageViewerControl = null;

            _audioPlayerControl.Dispose();
            _audioPlayerControl = null;
        }
예제 #5
0
        private void OnSelect1Click(object sender, EventArgs e)
        {
            if (_imageViewerControl1 != null)
            {
                _imageViewerControl1.Disconnect();
            }

            _audioPlayerControl1.Disconnect();
            _audioPlayerControl1.Close();

            ItemPickerForm form = new ItemPickerForm();

            form.KindFilter = Kind.Camera;
            form.AutoAccept = true;
            form.Init(Configuration.Instance.GetItems());
            if (form.ShowDialog() == DialogResult.OK)
            {
                _selectItem1       = form.SelectedItem;
                buttonSelect1.Text = _selectItem1.Name;

                _imageViewerControl1             = ClientControl.Instance.GenerateImageViewerControl();
                _imageViewerControl1.Dock        = DockStyle.Fill;
                _imageViewerControl1.ClickEvent += new EventHandler(ImageViewerControl1Click);
                panel1.Controls.Clear();
                panel1.Controls.Add(_imageViewerControl1);
                _imageViewerControl1.CameraFQID = _selectItem1.FQID;
                _imageViewerControl1.Initialize();
                _imageViewerControl1.Connect();
                _imageViewerControl1.Selected = true;
                buttonMode.Enabled            = true;

                // Test for any related microphones, and pick out the first one
                _related1Microphone     = null;
                checkBoxAudio.Enabled   = false;
                checkBoxSpeaker.Enabled = false;
                List <Item> related = _selectItem1.GetRelated();

                _outgoingSpeakerController.Close(0);
                _fromPCMicInitialized = false;
                _outgoingSpeakerController.OutgoingAudioErrorText = "";

                if (related != null)
                {
                    foreach (Item item in related)
                    {
                        if (item.FQID.Kind == Kind.Microphone)
                        {
                            _related1Microphone   = item;
                            checkBoxAudio.Enabled = true;
                            _audioPlayerControl1.MicrophoneFQID = _related1Microphone.FQID;
                            _audioPlayerControl1.Initialize();
                            checkBoxAudio.Checked = true;
                        }
                        if (item.FQID.Kind == Kind.Speaker)
                        {
                            _related1Speaker          = item;
                            checkBoxSpeaker.Enabled   = true;
                            checkBoxSpeaker.Checked   = true;
                            this.buttonTalk.Enabled   = true;
                            this.rb_pc_mic.Checked    = _fromPCMic;
                            this.rb_from_file.Checked = !_fromPCMic;

                            if (this.rb_pc_mic.Checked && _related1Speaker != null)
                            {
                                BeginInvoke(new MethodInvoker(delegate() { InitializePCMicToSpeaker(); }));
                            }
                        }
                    }
                }
                onCheckedChanged_Speaker(this.checkBoxSpeaker, null);
                OnAudio1CheckChanged(this.checkBoxAudio, null);
            }
        }