/// <summary> /// Error logging /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Player_Error(object sender, MediaPlayer.ErrorEventArgs e) { //playback error Log.Debug(LoadRSS.AppName, "Error in playback resetting: " + e.What); //this will clean up and reset properly. StopPlayer(); }
public async void OnPlayError(object sender, MediaPlayer.ErrorEventArgs e) { //lock (__syncRoot) var _mutex = new AsyncLock(); using (_mutex.Lock(StopToken)) { var wasPlaying = IsPlaying; var wasPaused = IsPaused; var wasAtLocation = CurrentLocation; var s = $"Who: {e.Mp}/{this.Name}, what: {e.What}, also: {e.Extra}. There are {SFX.NumberOfMediaPlayersCreated} media players in residence."; Log.Error("SFX|Error", s); //Deactivate(); //__invalidate(); // Suspend all other operations on the current target. Invalidate(); return; // Debugging! // Let's try a full restart of the sound in question instead - as long as it hasn't already been tried. // For now, a given effect only gets one such chance, until I see if it works. if (!_alreadyInErrorState) { _retries++; _alreadyInErrorState = Res.Random < 0.1; // Check a few times in succession, maybe it'll work? Definitely it's time dependent. await Task.Delay(50); Activate(); _effect = await _effect.EnsureValidAsync(__syncRoot, Name); // A triple-check that it's valid before we proceed. if (wasAtLocation > 0) { SeekTo(wasAtLocation); } if (wasPlaying) { Play(); } if (wasPaused) { Pause(); } //e.Handled = true; //await WhenFinishedPlaying.ContinueWith((t) => { _alreadyInErrorState = false; }, TaskContinuationOptions.NotOnFaulted); } else { Log.Error("SFX|Error", $"Sound effect {Name} tried again, for the {_retries}th time, and it still threw. Count 'im out."); _retries = 0; _alreadyInErrorState = false; } } }
private void VideoView_Error(object sender, MediaPlayer.ErrorEventArgs e) { Element.OnPlayError(sender, new VideoPlayer.PlayErrorEventArgs(e.What.ToString())); }
private void Player_Error(object sender, MediaPlayer.ErrorEventArgs e) { this.ShowListViewMessage($"Error on playback: {e.What}"); }
private void OnMusicError(object o, MediaPlayer.ErrorEventArgs args) { musicMediaEvents.Enqueue(new SoundMusicEventNotification(SoundMusicEvent.ErrorOccurred, args)); }
/// <summary> /// Called when the video player fails. /// </summary> /// <param name="sender">The sender.</param> /// <param name="errorEventArgs">The <see cref="MediaPlayer.ErrorEventArgs"/> instance containing the event data.</param> private void OnError(object sender, MediaPlayer.ErrorEventArgs errorEventArgs) { _timer?.Stop(); Status = MediaPlayerStatus.Error; }
private void Element_Error(object sender, MediaPlayer.ErrorEventArgs e) { Element?.OnMediaErrorOccurred(e.What.ToString()); }
void _player_Error(object sender, MediaPlayer.ErrorEventArgs e) { OnError(sender as MediaPlayer, e.What, e.Extra); }
static void mp_Error(object sender, MediaPlayer.ErrorEventArgs e) { e.Mp.Release(); e.Handled = false; }
void Player_Error(object sender, MediaPlayer.ErrorEventArgs e) { Thread.Pool.RunAction(() => Ended.TrySetException(new Exception("Failed to play audio > " + e.What))); }
private void OnError(object sender, MediaPlayer.ErrorEventArgs e) { isPrepared = false; videoView.StopPlayback(); }
private async void _player_Error(object sender, MediaPlayer.ErrorEventArgs e) { Debug.WriteLine("-------_player_Error " + e.What); isInitialize = false; }
void Player_Error(object sender, MediaPlayer.ErrorEventArgs e) { System.Diagnostics.Debug.WriteLine($"Player error: {e}"); }