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; }
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(); }
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"; } }