Я написал приложение WPF (в Visual C# 2010 Express), которое имеет 2 окна. Первый имеет различные кнопки, другой отображает видео с помощью элемента управления MediaElement. При нажатии кнопки связанное с ней видео воспроизводится или останавливается, если оно уже воспроизводится.
На моем компьютере для разработки (Windows 7, хорошая видеокарта, много памяти и т. д.) все работает нормально. Единственная проблема, с которой я столкнулся, заключается в том, что при подключении к отладчику он очень нестабилен, но при обычном запуске эти проблемы исчезают.
К сожалению, при запуске на гораздо менее мощной машине XP видео работает со скоростью 1-2 кадра в секунду. И это несмотря на то, что видео нормально воспроизводится в проигрывателе Windows Media.
Кажется, было довольно много сообщений о низкой производительности элемента управления MediaElement (не говоря уже о несоответствиях в том, что он может воспроизводить), поэтому я решил рассмотреть некоторые альтернативы.
Я попробовал вызов бесплатной библиотеки WPF MediaKit (http://wpfmediakit.codeplex.com), который, как я думал, мог некоторый эффект, однако, хотя я заставил его работать на компьютере с XP, он решительно отказывается отображать видео на моем компьютере для разработки, несмотря на использование точно такого же кода. Я все еще надеюсь, что это сработает, но я не уверен, что это поможет, учитывая, что он все еще использует элемент управления MediaElement за кулисами.
Затем я попытался использовать COM-элемент wmp.dll (формы Windows, а не WPF) и даже с самым простым приложением (новый проект Windows Form, элемент управления WMP, добавленный в форму, и 1 строка кода для установки URL-адреса при загрузке) я получаю странное поведение . С подключенным отладчиком он работает на нескольких мониторах, но иногда, когда он начинает играть, он просто неоднократно заикается на первых нескольких кадрах, и единственный способ вырваться из этого, кажется, - переместить его на другой монитор. Если я не использую отладчик, у меня не возникает проблемы с заиканием, но видео отображается только на основном мониторе, как только я перемещаю окно на дополнительный монитор, оно становится черным.
Итак, мой вопрос: кто-нибудь сталкивался с чем-то подобным вышеизложенному и/или имел достойное решение? Было бы особенно приятно найти что-то, что стабильно работает как с подключенным отладчиком, так и без него!