Пример #1
0
        private void btnView_Click(object sender, System.EventArgs e)
        {
            bool Switched = false;
            //string nuttin = "nothing";
            frmSessionPlayback frmSP = new frmSessionPlayback();
            if(rbStoredMedia.Checked)
            {
                if(lvSearchResults.SelectedItems[0].Tag is OCL.RecordingSession)
                {

                    OCL.RecordingSession RS = (OCL.RecordingSession)lvSearchResults.SelectedItems[0].Tag;
                    bool IsPresentation = RS.IsPresentation;
                    frmSP.PreviewPlayer.Text = RS.Description;
                    frmSP.RS = RS;

                    foreach(OCL.Recording R in RS.CurrentRecordings(LUser))
                    {
            //						OCL.VideoStorageServer VSS2 = R.CurrentVideoStorageServer;
            //						OCL.VideoStorageServerType VST2 = VSS2.CurrentVideoStorageServerType;
                        if(!Switched)
                        {
                            Switched = true;
                            frmSP.psPlayer.SwitchToStoredMediaControls();
                        }
            //						if(VST2.Description == "Windows Media Server")
            //						{

                            //string sURL = VSS2.StorageDirectory + @"\" + R.Description;
                            //string sURL = VST2.StreamHeader + VSS2.ControlAddress + @"\" + VSS2.StorageDirectory + @"\" + R.Description;
                            string sURL = R.RecordingUrl(LUser);
                            OysterPlaybackControls.PlayListItem PLI = new OysterPlaybackControls.PlayListItem(R.DisplayName,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                                OysterPlaybackControls.PlaybackMediaType.WMPFile,sURL,"",0);

                            frmSP.PreviewPlayer.PlayList.Add(PLI);

                            /// IF CURRENT RECORDING IS THE DEFAULT CAMERA THEN SET THE PLAYLIST TO SHOW THIS RECORDING FIRST
                            if(R.IsPrimaryCamera)
                            {
                                frmSP.PreviewPlayer.CurrentPlayListItem = frmSP.PreviewPlayer.PlayList.Count  - 1;
                            }

                            if((IsPresentation)&&(R.IsDesktopCapture))
                            {
                                frmSP.psPlayer.Add(R.DisplayName,PLI,true);
                                Application.DoEvents();
                            }
            //						}
                    }
                }
            }
            else if(rbLiveStream.Checked) //(lvSearchResults.SelectedItems[0].Tag is OCL.Source)
            {
                if(PreviewPlayer.IsUMPlayer)
                {
                    //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                }
                else
                    ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

                if(!Switched)
                {
                    Switched = true;
                    frmSP.psPlayer.SwitchToLiveControls();
                }
                foreach(ListViewItem LVS in lvSearchResults.CheckedItems)
                {
                    OCL.Source sou = (OCL.Source)LVS.Tag; //lvSearchResults.SelectedItems[0].Tag;
                    PreviewPlayer.Text = sou.Description;
                    //Use the following code if UMedia
            //					string sURL = sou.ControlAddress;
            //					OysterPlaybackControls.PlayListItem LivePLI = new OysterPlaybackControls.PlayListItem(sou.ControlAddress,OysterPlaybackControls.PlaybackTransportType.TCP,
            //						OysterPlaybackControls.PlaybackMediaType.LiveAlias,sURL,sou.StreamingAddress,5119);

                    //Use the following code if WMedia
                    string sURL = "";
            //					if(sou.Description.ToLower() == "Camera Two".ToLower())
            //					{
                        sURL = sou.StreamingHeader + sou.StreamingAddress + ":" + sou.StreamingPort;
            //					}
            //					else
            //					{
            //						sURL = sou.StreamingHeader + sou.StreamingAddress + @"\" + sou.ControlAddress;
            //					}
                    OysterPlaybackControls.PlayListItem LivePLI = new OysterPlaybackControls.PlayListItem(sou.Description,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                        OysterPlaybackControls.PlaybackMediaType.WMPStream,sURL,sou.StreamingAddress,5119);
                    frmSP.PreviewPlayer.PlayList.Add(LivePLI);
                }
            }

            this.Visible = false;
            try
            {
                if(PreviewPlayer.IsUMPlayer)
                {
                    //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                }
                else
                    ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

            }
            catch(Exception Err)
            {
                string peek = Err.Message;
            }
            frmSP.lblRecordingIdentifier.Text = "1 of " + frmSP.PreviewPlayer.PlayList.Count.ToString();
            lblRecordingIdentifier.Visible = true;
            //frmSP.PreviewPlayer.OpenPlayList();

            if(frmSP.ShowDialog(this) == DialogResult.Abort)
            {
                PreviewPlayer.ReleaseResources();
                frmSP.Dispose();
                Application.Exit();
            }
            this.Visible = true;
        }
Пример #2
0
        private void btnView_Click(object sender, System.EventArgs e)
        {
            frmSessionPlayback frmSP = new frmSessionPlayback();
            if(lvSearchResults.SelectedItems[0].Tag is OCL.RecordingSession)
            {
                try
                {
                    //					if(PreviewPlayer.IsUMPlayer)
                    //						((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                    //					else
                    ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();
                }
                catch(Exception Err)
                {
                    string peek = Err.Message;
                }

                System.Collections.Specialized.HybridDictionary RecordingCollection = new System.Collections.Specialized.HybridDictionary(false);

                OCL.RecordingSession RS = (OCL.RecordingSession)lvSearchResults.SelectedItems[0].Tag;
                bool IsPresentation = RS.IsPresentation;
                frmSP.PreviewPlayer.Text = RS.Description;
                frmSP.RS = RS;
                int CamCount = 0;
                foreach(OCL.Recording R in RS.CurrentRecordings(LUser))
                {
                    OCL.VideoStorageServer VSS2 = R.CurrentVideoStorageServer;
                    string sDirectory = @"\Data";
                    try
                    {
                        string[] checkPath = VSS2.FileStorageDirectory.Split(@"\".ToCharArray());
                        if(checkPath[0] == "")
                            sDirectory = VSS2.FileStorageDirectory;
                        else
                            sDirectory = @"\" + VSS2.FileStorageDirectory;
                        if(checkPath.Length > 1)
                        {
                            if(checkPath[checkPath.Length - 1] != @"")
                                sDirectory += @"\";
                        }
                    }
                    catch(Exception Err)
                    {
                        String peekThisFunky = Err.Message;
                    }
                    string sURL = sLocalDrive + sDirectory + R.Description;
                    OysterPlaybackControls.PlayListItem PLI = null;
                    PreviewPlayer.CurrentPlayerType = OysterPlaybackControls.PlayerType.WindowMediaPlayer;
                    //					if(PreviewPlayer.IsUMPlayer)
                    //					{
                    //						PLI = new OysterPlaybackControls.PlayListItem(R.DisplayName,OysterPlaybackControls.PlaybackTransportType.TCP,
                    //							OysterPlaybackControls.PlaybackMediaType.File,sURL,VSS2.ControlAddress,VSS2.ControlPort);
                    //					}
                    //					else
                {
                    PLI = new OysterPlaybackControls.PlayListItem(R.DisplayName,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                        OysterPlaybackControls.PlaybackMediaType.WMPFile,sURL,VSS2.ControlAddress,VSS2.ControlPort);
                }

                    //frmSP.PreviewPlayer.PlayList.Add(PLI);

                    /// IF CURRENT RECORDING IS THE DEFAULT CAMERA THEN SET THE PLAYLIST TO SHOW THIS RECORDING FIRST
                    if(R.IsPrimaryCamera)
                    {
                        RecordingCollection.Add("Primary",PLI);
                        //frmSP.PreviewPlayer.CurrentPlayListItem = frmSP.PreviewPlayer.PlayList.Count  - 1;
                    }
                    else if(R.IsDesktopCapture)
                    {
                        RecordingCollection.Add("Presentation",PLI);
                        //frmSP.psPlayer.Add(R.DisplayName,PLI,true);
                    }
                    else
                    {
                        RecordingCollection.Add("Camera" + CamCount.ToString(),PLI);
                        CamCount++;
                        //frmSP.psPlayer.Add(R.DisplayName,PLI,true);
                    }
                }
                ///////////////////////////////////////////////////////
                /// Load appropriate PlayerWindows in the correct Order
                OysterPlaybackControls.PlayListItem StoredPLI = null;
                /// Primary Camera
                if((StoredPLI = RetrieveRecording(RecordingCollection,"Primary")) != null)
                {
                    frmSP.PreviewPlayer.PlayList.Add(StoredPLI);
                }

                /// All Non-Primary Cameras
                for(int i=0;i<CamCount;i++)
                {
                    if((StoredPLI = RetrieveRecording(RecordingCollection,"Camera" + i.ToString())) != null)
                    {
                        frmSP.PreviewPlayer.PlayList.Add(StoredPLI);
                        if(!RS.IsPresentation)
                        {
                            frmSP.psPlayer.Add(StoredPLI.Name,StoredPLI,true);
                        }
                    }
                }

                /// Presentation Capture
                if((StoredPLI = RetrieveRecording(RecordingCollection,"Presentation")) != null)
                {
                    frmSP.PreviewPlayer.PlayList.Add(StoredPLI);
                    frmSP.psPlayer.Add(StoredPLI.Name,StoredPLI,true);
                }

                frmSP.PreviewPlayer.CurrentPlayListItem = 0;
                //				/// IF CURRENT RECORDING IS THE DEFAULT CAMERA THEN SET THE PLAYLIST TO SHOW THIS RECORDING FIRST
                //				if(R.IsPrimaryCamera)
                //				{
                //					frmSP.PreviewPlayer.CurrentPlayListItem = frmSP.PreviewPlayer.PlayList.Count  - 1;
                //				}
                //				else if(R.IsDesktopCapture)
                //				{
                //					frmSP.psPlayer.Add(R.DisplayName,PLI,true);
                //				}
                //				else
                //				{
                //					frmSP.psPlayer.Add(R.DisplayName,PLI,true);
                //				}
            }

            frmSP.lblRecordingIdentifier.Text = "1 of " + frmSP.PreviewPlayer.PlayList.Count.ToString();
            lblRecordingIdentifier.Visible = true;
            frmSP.PreviewPlayer.OpenPlayList();
            //this.Visible = false;
            frmSP.ShowDialog(this);

            this.Visible = true;
            frmSP.Dispose();
        }
Пример #3
0
        private void btnPreview_Click(object sender, System.EventArgs e)
        {
            if((rbStoredMedia.Checked)&&(lvSearchResults.SelectedItems.Count > 0))
            {
                if(lvSearchResults.SelectedItems[0].Tag is OCL.RecordingSession)
                {
                    if(PreviewPlayer.IsUMPlayer)
                    {
                        //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                    }
                    else
                        ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

                    PreviewPlayer.PlayList.Clear();
                    OCL.RecordingSession RS = (OCL.RecordingSession)lvSearchResults.SelectedItems[0].Tag;
                    PreviewPlayer.Text = RS.Description;
                    foreach(OCL.Recording R in RS.CurrentRecordings(LUser))
                    {
            //						OCL.VideoStorageServer VSS2 = R.CurrentVideoStorageServer;
            //						OCL.VideoStorageServerType VST2 = VSS2.CurrentVideoStorageServerType;
            //
            //						if(VST2.Description == "Windows Media Server")
            //						{
                            try
                            {
                                if(PreviewPlayer.IsUMPlayer)
                                {
                                    //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                                }
                                else
                                    ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

                            }
                            catch(Exception Err)
                            {
                                string sPeek = Err.Message;
                            }
            //							string sURL = VST2.StreamHeader + VSS2.ControlAddress + @"\" + VSS2.StorageDirectory + @"\" + R.Description;
                            string sURL = R.RecordingUrl(LUser);
                            PreviewPlayer.PlayList.Add(new OysterPlaybackControls.PlayListItem(R.DisplayName,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                                OysterPlaybackControls.PlaybackMediaType.WMPFile,sURL,"",0));
                        //}
                    }
                    PreviewPlayer.OpenPlayList();
                    lblRecordingIdentifier.Text = "1 of " + PreviewPlayer.PlayList.Count.ToString();
                    if(PreviewPlayer.PlayList.Count < 2)
                    {
                        btnPreviousSessionRecording.Enabled = false;
                        btnNextSessionRecording.Enabled = false;
                    }
                    else
                    {
                        btnPreviousSessionRecording.Enabled = true;
                        btnNextSessionRecording.Enabled = true;
                    }
                    lblRecordingIdentifier.Visible = true;

                }
                else if(lvSearchResults.SelectedItems[0].Tag is OCL.Scene)
                {
                    if(PreviewPlayer.IsUMPlayer)
                    {
                        //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                    }
                    else
                        ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

                    PreviewPlayer.PlayList.Clear();

            //					PreviewPlayer.IsUMPlayer = true;
                    PreviewPlayer.CurrentPlayerType = OysterPlaybackControls.PlayerType.CarverLabPlayer;

                    OCL.Scene sce = (OCL.Scene)lvSearchResults.SelectedItems[0].Tag;
                    PreviewPlayer.Text = sce.Description;
                    OCL.Sources ACS = sce.AllVisibleSources(LUser);
                    foreach(OCL.Source source in ACS)
                    {
                        //string sURL = source.StreamingHeader + source.StreamingAddress + ":" + source.StreamingPort;
                        string sURL = source.CurrentStreamURL;
                        PreviewPlayer.PlayList.Add(new OysterPlaybackControls.PlayListItem(source.Description,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                            OysterPlaybackControls.PlaybackMediaType.WMPStream,sURL,source.StreamingAddress,source.StreamingPort));

                    }
                    PreviewPlayer.OpenPlayList();
                    lblRecordingIdentifier.Text = "1 of " + PreviewPlayer.PlayList.Count.ToString();
                    if(PreviewPlayer.PlayList.Count < 2)
                    {
                        btnPreviousSessionRecording.Enabled = false;
                        btnNextSessionRecording.Enabled = false;
                    }
                    else
                    {
                        btnPreviousSessionRecording.Enabled = true;
                        btnNextSessionRecording.Enabled = true;
                    }
                    lblRecordingIdentifier.Visible = true;
                }
            }
            else if(rbLiveStream.Checked)// lvSearchResults.SelectedItems[0].Tag is OCL.Source)
            {
                if(PreviewPlayer.IsUMPlayer)
                {
                    //((AxUMediaControlLib.AxUMediaPlayer)PreviewPlayer.Player).Stop();
                }
                else
                    ((AxWMPLib.AxWindowsMediaPlayer)PreviewPlayer.Player).Ctlcontrols.stop();

                PreviewPlayer.PlayList.Clear();
            //				PreviewPlayer.IsUMPlayer = true;
                PreviewPlayer.CurrentPlayerType = OysterPlaybackControls.PlayerType.CarverLabPlayer;

                foreach(ListViewItem LVS in lvSearchResults.CheckedItems)
                {
                    OCL.Source sou = (OCL.Source)LVS.Tag;
                    PreviewPlayer.Text = sou.Description;
                    //Use the following code if UMedia
                    //					string sURL = sou.ControlAddress;
                    //					OysterPlaybackControls.PlayListItem LivePLI = new OysterPlaybackControls.PlayListItem(sou.ControlAddress,OysterPlaybackControls.PlaybackTransportType.TCP,
                    //						OysterPlaybackControls.PlaybackMediaType.LiveAlias,sURL,sou.StreamingAddress,5119);

                    //Use the following code if WMedia
                    string sURL = "";

                    //sURL = sou.StreamingHeader + sou.StreamingAddress + ":" + sou.StreamingPort;

                    sURL = sou.CurrentStreamURL;
                    OysterPlaybackControls.PlayListItem LivePLI = new OysterPlaybackControls.PlayListItem(sou.Description,OysterPlaybackControls.PlaybackTransportType.WMPStream,
                        OysterPlaybackControls.PlaybackMediaType.WMPStream,sURL,sou.StreamingAddress,5119);
                    PreviewPlayer.PlayList.Add(LivePLI);
                }

                lblRecordingIdentifier.Text = "1 of " + PreviewPlayer.PlayList.Count.ToString();
                if(PreviewPlayer.PlayList.Count < 2)
                {
                    btnPreviousSessionRecording.Enabled = false;
                    btnNextSessionRecording.Enabled = false;
                }
                else
                {
                    btnPreviousSessionRecording.Enabled = true;
                    btnNextSessionRecording.Enabled = true;
                }
                lblRecordingIdentifier.Visible = true;
                PreviewPlayer.OpenPlayList();
                #region Old Code
                //					OCL.Source sou = (OCL.Source)lvSearchResults.SelectedItems[0].Tag;
                //					PreviewPlayer.Text = sou.Description;
                //					string sURL = sou.ControlAddress;
                //
                //					PreviewPlayer.PlayList.Add(new OysterPlaybackControls.PlayListItem(sou.ControlAddress,OysterPlaybackControls.PlaybackTransportType.TCP,
                //						OysterPlaybackControls.PlaybackMediaType.LiveAlias,sURL,sou.StreamingAddress,5119));
                //
                //
                //					PreviewPlayer.OpenPlayList();
                //					lblRecordingIdentifier.Text = "1 of " + PreviewPlayer.PlayList.Count.ToString();
                //					if(PreviewPlayer.PlayList.Count < 2)
                //					{
                //						btnPreviousSessionRecording.Enabled = false;
                //						btnNextSessionRecording.Enabled = false;
                //					}
                //					else
                //					{
                //						btnPreviousSessionRecording.Enabled = true;
                //						btnNextSessionRecording.Enabled = true;
                //					}
                //					lblRecordingIdentifier.Visible = true;
                #endregion
            }
            else
            {
                MessageBox.Show(this,"Programmer Error: Unknown selection type","Programmer Error Detected",MessageBoxButtons.OK);
                ////					OysterPlaybackControls.PlayListItem PLI = new OysterPlaybackControls.PlayListItem("Basic Math",OysterPlaybackControls.PlaybackTransportType.TCP
                ////						,OysterPlaybackControls.PlaybackMediaType.File,@"oyster\Transformed.WMV","oystermini",5119);
                ////					PreviewPlayer.PlayList.Add(PLI);
                ////					PreviewPlayer.OpenPlayList();
                ////					PreviewPlayer.PlayAllPlayers();
                ////					lblRecordingIdentifier.Text = "1 of 1";

            }
        }