예제 #1
0
        protected void OnBufferingProgressUpdated(object sender, BufferingProgressUpdatedEventArgs e)
        {
            if (e.Progress == 1.0)
            {
                switch (_player.State)
                {
                case PlaybackState.Paused:
                    Controller.CurrentState = MediaElementState.Paused;
                    break;

                case PlaybackState.Playing:
                    Controller.CurrentState = MediaElementState.Playing;
                    break;

                case PlaybackState.Stopped:
                    Controller.CurrentState = MediaElementState.Stopped;
                    break;
                }
            }
            else if (Controller.CurrentState != MediaElementState.Buffering && e.Progress >= 0)
            {
                Controller.CurrentState = MediaElementState.Buffering;
            }
            Controller.BufferingProgress = e.Progress;
        }
예제 #2
0
 void OnUpdateBufferingProgress(object sender, BufferingProgressUpdatedEventArgs e)
 {
     if (!IsBuffering && e.Progress >= 0)
     {
         IsBuffering = true;
         BufferingStarted?.Invoke(this, EventArgs.Empty);
     }
     else if (IsBuffering && e.Progress == 1.0)
     {
         IsBuffering = false;
         BufferingCompleted?.Invoke(this, EventArgs.Empty);
     }
     BufferingProgress = e.Progress;
     BufferingProgressUpdated?.Invoke(this, new BufferingProgressUpdatedEventArgs {
         Progress = BufferingProgress
     });
 }