/// <summary> /// Get a new archiver if needed and start the playback. /// </summary> private void StartPlayBack() { try { this.Cursor = Cursors.WaitCursor; if (archiverStopped) { refFMain.GetNewArchiver(); } // Launch the Play Back in the appropriate venue // TODO: Move PlayArchive out of CXPClient playBackIP = refFMain.PlayArchive(Streams, conference); startPlayBackTicks = DateTime.Now.Ticks; // Enable the slider related UI tbPlayBack.Enabled = true; timerSliderUpdate.Enabled = true; UpdatePlayButtons(true); } catch (System.Net.Sockets.SocketException ex) { ShowPlaybackError(string.Format(CultureInfo.CurrentCulture, Strings.ArchiveServiceUnavailableText, ex.Message), Strings.ArchiveServiceUnavailableTitle); } catch (ArchiveService.VenueInUseException) { ShowPlaybackError(string.Format(CultureInfo.CurrentCulture, Strings.PlaybackErrorText, Strings.VenueInUseError), Strings.PlaybackErrorTitle); } catch (InvalidOperationException ex) { ShowPlaybackError(string.Format(CultureInfo.CurrentCulture, Strings.PlaybackErrorText, ex.Message), Strings.PlaybackErrorTitle); } catch (ArgumentException ex) // IPv6 error { string errorMsg = ex.Message; if (errorMsg.IndexOf("IPv6") > -1) { ShowPlaybackError(errorMsg, Strings.AddressProtocolError); } else { string error = GenericPlaybackError + ex.ToString(); ShowPlaybackError(error, GenericPlaybackErrorTitle); } } catch (Exception ex) { string error = GenericPlaybackError + ex.ToString(); ShowPlaybackError(error, GenericPlaybackErrorTitle); } finally { this.Cursor = Cursors.Default; } }
/// <summary> /// Get a new archiver if needed and start the playback. /// </summary> private void StartPlayBack() { try { this.Cursor = Cursors.WaitCursor; if (archiverStopped) { refFMain.GetNewArchiver(); } // Launch the Play Back in the appropriate venue // TODO: Move PlayArchive out of BarUI playBackIP = refFMain.PlayArchive(Streams, conference); startPlayBackTicks = DateTime.Now.Ticks; // Enable the slider related UI tbPlayBack.Enabled = true; timerSliderUpdate.Enabled = true; UpdatePlayButtons(true); } catch (System.Net.Sockets.SocketException ex) { ShowPlaybackError( "The Archive Service did not respond. Make sure the Archive Service you \n" + "specified in ConferenceXP is correct and that server is online. \n" + "For further assistance, contact your server's administrator. \n" + "\nException Message: " + ex.Message, "Archive Service Unavailable"); } catch (InvalidOperationException ex) { ShowPlaybackError( "You cannot play back a recorded conference at this time. Make sure \n" + "there currently is no recording or playback in this venue. \n" + "\nException Message: " + ex.Message, "Playback Error"); } catch (ArgumentException ex) // IPv6 error { string errorMsg = ex.Message; if (errorMsg.IndexOf("IPv6") > -1) { ShowPlaybackError(errorMsg, "Address Protocol Error"); } else { string error = GenericPlaybackError + ex.ToString(); ShowPlaybackError(error, GenericPlaybackErrorTitle); } } catch (Exception ex) { string error = GenericPlaybackError + ex.ToString(); ShowPlaybackError(error, GenericPlaybackErrorTitle); } finally { this.Cursor = Cursors.Default; } }