private void qtPlayer_StatusUpdate(object sender, AxQTOControlLib._IQTControlEvents_StatusUpdateEvent e) { Logger.Info("StatusUpdate: " + e.statusMessage); // Status update event handler // Handle movie fullscreen events /* qtMovieLoadStateError = -1, qtStatusNone = 0, qtStatusConnecting = 2, qtStatusNegotiating = 5, qtStatusRequestedData = 11, qtStatusBuffering = 12, qtMovieLoadStateLoading = 1000, qtMovieLoadStateLoaded = 2000, qtStatusURLChanged = 4096, qtStatusFullScreenBegin = 4097, qtStatusFullScreenEnd = 4098, qtStatusMovieLoadFinalize = 4099, qtMovieLoadStatePlayable = 10000, qtMovieLoadStatePlaythroughOK = 20000, qtMovieLoadStateComplete = 100000, */ switch ((QTStatusCodesEnum)e.statusCode) { // fullscreen begin case QTStatusCodesEnum.qtStatusFullScreenBegin: this.Hide(); // hide movie window break; // fullscreen end case QTStatusCodesEnum.qtStatusFullScreenEnd: qtPlayer.SetScale(1); // set back to a reasonable size this.Show(); // show movie window again break; case QTStatusCodesEnum.qtMovieLoadStateError: var playerErrorEventArgs = new PlayerErrorEventArgs(); playerErrorEventArgs.ErrorMessage = "We couldn't load the movie!"; playerErrorEventArgs.SupportID = "ErrorLoadingVideo"; if (PlayerError != null) PlayerError(sender, playerErrorEventArgs); break; case QTStatusCodesEnum.qtMovieLoadStateComplete: var openStateEventArgs = new OpenStateChangedEventArgs(); openStateEventArgs.OpenState = GenericPlayerControl.OpenStates.Open; if (OpenStateChanged != null) OpenStateChanged(sender, openStateEventArgs); break; } }
private void wmPlayer_MediaError(object sender, _WMPOCXEvents_MediaErrorEvent e) { try // If the Player encounters a corrupt or missing ioItem, // show the hexadecimal error code and URL. { var errSource = e.pMediaObject as WMPLib.IWMPMedia2; if (errSource != null) { WMPLib.IWMPErrorItem errorItem = errSource.Error; Logger.Error("Error " + errorItem.errorCode.ToString("X") + " in " + errSource.sourceURL); AnalyticsHelper.FireEvent("WMP Error - " + errorItem.errorCode.ToString("X")); AnalyticsHelper.FireEvent("WMP Error - " + errorItem.errorCode.ToString("X") + " - " + Path.GetExtension(errSource.sourceURL)); try { FileInfo fileInfo = new FileInfo(errSource.sourceURL); UploadMediaInfo(fileInfo, errorItem.errorCode.ToString("X")); } catch (Exception ex) { Logger.Error("Error creating FileInfo for " + errSource.sourceURL + ": " + ex); } if (PlayerError != null) { var playerErrorEventArgs = new PlayerErrorEventArgs(); if (errorItem.errorCode.ToString("X") == "C00D1199") { playerErrorEventArgs.ErrorMessage = "Ah bummer! We had trouble playing your video. This is most likely due to a missing codec." + Environment.NewLine + Environment.NewLine + "The easiest fix is to download the free K-Lite Codec pack. Would you like to do that now?"; playerErrorEventArgs.SupportID = "WMPErrorC00D1199"; } else { playerErrorEventArgs.ErrorMessage = "Error loading video! Please make sure you can play this video in Windows Media Player." + Environment.NewLine + Environment.NewLine + "Error code: " + errorItem.errorCode.ToString("X") + Environment.NewLine + Environment.NewLine + "Would you like to open a support ticket?"; playerErrorEventArgs.SupportID = "ErrorLoadingVideo"; } PlayerError(sender, playerErrorEventArgs); } } else Logger.Error("Unknown error!"); } catch (InvalidCastException ex) // In case pMediaObject is not an IWMPMedia item. { Logger.Error("Exception thrown: " + ex); } }
private void videoPlayer_PlayerError(object sender, PlayerErrorEventArgs e) { _hourGlass.Dispose(); if (MainModel.isQuickTimeInstalled == false) installQuickTimeLinkLabel.Visible = true; if (e.ErrorMessage.Length == 0) return; if (MessageBox.Show(e.ErrorMessage, "Error playing video", MessageBoxButtons.YesNo, MessageBoxIcon.Error) == DialogResult.Yes) { SupportHelper.OpenKBArticle(e.SupportID); } }
private void handlePlayerError(object sender, PlayerErrorEventArgs e) { Logger.Info("PlayerError: " + e.ErrorMessage + " (" + e.SupportID + ")"); if (PlayerError != null) PlayerError(sender, e); }