Exemplo n.º 1
0
        private void OnRenderingVideo(object sender, RenderingVideoEventArgs e)
        {
            if (!(DataContext is MediaPlayerViewModel vm))
            {
                return;
            }

            if (vm.MediaType == MediaType.Trailer)
            {
                PositionSlider.Value = Media.Position.TotalSeconds;
            }

            if (vm.SubtitleItems.Any())
            {
                var subtitle = vm.SubtitleItems.FirstOrDefault(a =>
                                                               a.StartTime <= Media.Position.TotalMilliseconds + SubtitleDelay &&
                                                               a.EndTime > Media.Position.TotalMilliseconds + SubtitleDelay);
                if (subtitle == null)
                {
                    Subtitles.Text = string.Empty;
                    return;
                }

                var lines          = subtitle.Lines;
                var formattedLines = new List <string>();
                foreach (var line in lines)
                {
                    formattedLines.Add(line.Replace("<b>", "").Replace("</b>", "")
                                       .Replace("<i>", "").Replace("</i>", "").Replace("<u>", "")
                                       .Replace("</u>", ""));
                }

                Subtitles.Text = string.Join(Environment.NewLine, formattedLines);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handles the RenderingVideo event of the Media control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RenderingVideoEventArgs"/> instance containing the event data.</param>
        private void Media_RenderingVideo(object sender, RenderingVideoEventArgs e)
        {
            if (HasTakenThumbnail)
            {
                return;
            }

            if (Media.HasMediaEnded || Media.Position.TotalSeconds >= 3 || (Media.NaturalDuration.HasTimeSpan && Media.NaturalDuration.TimeSpan.TotalSeconds <= 3))
            {
                HasTakenThumbnail = true;
                PlaylistManager.AddOrUpdateEntryThumbnail(Media.Source.ToString(), e.Bitmap);
                PlaylistManager.SaveEntries();
            }
        }
Exemplo n.º 3
0
 private void Me_RenderingVideo(object sender, RenderingVideoEventArgs e)
 {
     bmpBuffer = e.Bitmap;
 }
Exemplo n.º 4
0
 private void RenderPreviewOnVideo(object sender, RenderingVideoEventArgs e)
 {
     //_libAss.RenderAndBlend((int)e.Clock.TotalMilliseconds, e.Bitmap);
 }