2010-09-24 3 views
1

hey, У меня есть приложение wpf, которое имеет двойное назначение, используемое для прокрутки текста и изображений (полосы прокрутки) с левой стороны экрана, вправо, и воспроизведение фильма, в том же окне.MediaElement/MediaPlayer/MediaUriElement висит в пользовательском интерфейсе при загрузке видео

каждый раз, когда видео заканчивается, и загружается новое видео, двойная затухание задерживается/зависает на секунду, а затем продолжается нормально. Я предполагаю, что это контроль, блокирующий поток ui при загрузке видео. Я попытался создать отдельный поток пользовательского интерфейса для прокрутки, но я не решил проблему. Я пробовал использовать MediaElement, MediaPlayer и MediaUriElement без успеха.

любая помощь будет оценена.

ответ

1

Это известная проблема с MediaElement. Вы в значительной степени должны предварительно загружать свои видео ... что означает блокировать поток пользовательского интерфейса no или позже;).

Вы также можете попробовать мой MediaUriElement в моем проекте WPF MediaKit. Я сделал как можно больше нити, чтобы этого не случилось.

http://wpfmediakit.codeplex.com

+0

эй, спасибо за комментарий! как говорится в названии, я попробовал MediaUriElement, но получил тот же результат, я делаю что-то неправильно? Я просто устанавливаю свойство «source». Должен ли я использовать его по-другому? – Dimor

+0

Жаль не видел, что в названии! В любом случае, единственное, что я делаю в потоке пользовательского интерфейса, - это запустить другой поток и аннулировать D3DImage на новом фрейме. Все происходит асинхронно между потоком пользовательского интерфейса и DirectShow. Является ли ваш компьютер довольно мудрым с точки зрения процессора? Вы можете попробовать изменить приоритет потока в Threading \ WorkDispatcherObject.cs на что-то низкое, но не уверены, что это исправит. –

+0

ну, после другого теста, похоже, что он отлично работает с MediaUriElement. большое спасибо! :) – Dimor

Смежные вопросы