Плавные видео-переходы для WPF - PullRequest
4 голосов
/ 30 января 2011

Я использую VB.net 2010 и WPF 4. Мне нужен плавный переход между двумя видео, воспроизводимыми на медиаэлементе. Я абсолютно не могу использовать что-либо, что требует от меня использования winhost в окне WPF, так как это сделает мой проект невозможным (так как видео полноэкранное, а управление над видео)

По сути, мне нужно, чтобы видео воспроизводилось, а затем плавно переходило к другому видео, указанному в коде позади. Я не могу соединить два видео вместе - они должны быть отдельными.

Как сделать так, чтобы видео плавно переходило без «моргания»?

1 Ответ

2 голосов
/ 01 февраля 2011

Я думаю, без тестирования здесь. Вам, вероятно, понадобятся несколько процессорных ядер и хорошая видеокарта.

Если у вас есть память, используйте два MediaElement с.

  • Поставьте в очередь оба видео, по одному на каждый элемент.
  • Установите непрозрачность второго на полностью прозрачный. Они UIElements, так что это должно работать ...
  • Используйте таймеры какого-либо типа, которые запускаются с начала воспроизведения на первом, чтобы получить событие за пару секунд до окончания воспроизведения.
  • С этим делегатом события запустите видео во втором MediaElement, анимируйте непрозрачность первого до нуля, одновременно оживляя второго до полностью непрозрачного.
  • Если вам нужно сделать это снова, установите таймер снова и убедитесь, что ваш делегат анимирует вещи другим способом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...