Как воспроизвести раздел WPFmediaElement

#wpf #mediaelement

#wpf #mediaelement

Вопрос:

Мне нужно воспроизвести раздел Mediaelement, например, со второго 0:45 до 0: 55 секунды

Я попытался использовать свойство mediaelement position, вот код

             Dim mytimeline As New MediaTimeline
            Dim mc As MediaClock

            FReveal1.Visibility = Windows.Visibility.Visible

            FReveal1.Source = New Uri("videosFront-Game-Answer-Reveals.wmv", UriKind.Relative)

            FReveal1.Position = New TimeSpan(0, 0, 4)

            mytimeline.Source = FReveal1.Source
            mytimeline.Duration = (TimeSpan.FromMilliseconds(5000))
            mc = myTimeLine.CreateClock()
            FReveal1.Clock = mc
            FReveal1.Play()
  

Но я получаю следующую ошибку: «Не удается выполнить эту операцию, пока медиаплееру назначены часы».

Есть ли другой способ сделать это?

Спасибо

Ответ №1:

Сработает ли что-то подобное этому?

     var StartTime = new TimeSpan(0, 0, 45);
    var EndTime = new TimeSpan(0, 0, 55);

    theMediaElement.Position = StartTime;
    theMediaElement.Play();

    while (theMediaElement.Position != EndTime)
    {
        // chill and let it play
     }

    theMediaElement.Stop();
  

РЕДАКТИРОВАТЬ: я, вероятно, должен добавить, что это немного по-ковбойски.

Комментарии:

1. Да, спасибо, это работает, я создал универсальный метод для остановки любого общедоступного поднабора элементов mediaelement (используя FromSec Как целое число, используя ToPosition Как целое число, Используя video как MediaElement) видео. Позиция = Новый временной интервал (0, 0, с секунды) видео. Воспроизведение () во время просмотра видео. Позиция. Секунды < ToPosition заканчиваются, пока video.Stop() завершает Sub

2. Рад, что это сработало. Если бы вы могли отметить это как ответ, это было бы здорово. Спасибо