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); } }
/// <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(); } }
private void Me_RenderingVideo(object sender, RenderingVideoEventArgs e) { bmpBuffer = e.Bitmap; }
private void RenderPreviewOnVideo(object sender, RenderingVideoEventArgs e) { //_libAss.RenderAndBlend((int)e.Clock.TotalMilliseconds, e.Bitmap); }