2012-11-05 5 views
4

Я разрабатываю игру для Windows в C# с использованием Visual Studio 2010 и XNA 4.0. Я хотел бы иметь возможность устанавливать и изменять позицию воспроизведения HD-видео, а также воспроизводить видео в обратном порядке, в зависимости от пользовательского ввода.Как контролировать положение и скорость воспроизведения HD видео в XNA?

У меня возникли проблемы с поиском, с чего начать. Класс видеопроигрывателя XNA не предоставляет эти типы функций. Я прочитал, что XNA DirectShow теперь устарела и медленна при использовании HD-видео.

Я не совсем понимаю, как я смогу использовать или реализовать такие инструменты, как ffmpeg, с моим проектом. Кажется, у некоторых людей были похожие вопросы и были размещены решения, но без особых деталей. Это ниже.

  • interop out для связи с основной функциональностью DX.

  • написать управляемую оболочку C++ для взаимодействия ffmpeg.

  • написать mpeg-декодер.

Я не уверен, что было бы лучше всего и с чего начать. Спасибо!

ответ

0

Класс VideoPlayer имеет свойство «PlayPosition», с которым вы сможете играть.

В противном случае (и я не знаю, насколько велик ваш видеофайл и как долго) попробуйте последовательность изображений и анимируйте текущую последовательность изображений и управляйте ими с помощью ввода пользователем. Разумеется, работа с последовательностями изображений приведет к тому, что изменение звука (если есть звук) и т. Д. Очень сложно.

Последнее, но не менее, вы можете увидеть, если вы можете понять что-либо из этого Mpeg декодера здесь: https://www.box.com/shared/ojzfv0qzfx

Что-то другое, что может помочь с декодированием Mpeg: http://chrisa.wordpress.com/2007/11/21/decoding-mpeg2-information/

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