#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. Рад, что это сработало. Если бы вы могли отметить это как ответ, это было бы здорово. Спасибо