Встраивание видео в приложение WinForms - PullRequest
10 голосов
/ 01 декабря 2008

Мне нужно иметь возможность встраивать и контролировать воспроизведение AVI-файла в приложении WinForms, используя C #. Видео должно быть встроено в форму, а не запущено в отдельном окне медиаплеера.

Какой лучший способ сделать это? Я нашел пространство имен System.Media, которое звучало многообещающе, но оказалось, что это полезно только для звука.

Использую ли я DirectX для этого? MCI? Или какой-то другой подход?

Ответы [ 5 ]

5 голосов
/ 01 декабря 2008

Вы можете использовать Media Player внутри своей Winform. Это был бы простой способ сделать это.

3 голосов
/ 24 мая 2012

Я так и сделал, и я цитирую:

Щелкните правой кнопкой мыши на панели инструментов и выберите «Выбрать элементы».

Примечание. Если вы не видите Панель инструментов, выберите Панель инструментов в меню Вид, чтобы Открой это. Откроется диалоговое окно «Настройка элементов панели инструментов».

На вкладке COM-компоненты установите флажок Windows Media Player, и затем нажмите OK.

Элемент управления проигрывателя Windows Media отображается на текущей вкладке панели инструментов.

При добавлении элемента управления проигрывателя Windows Media на панель инструментов Visual Studio автоматически добавляет ссылки на две библиотеки: AxWMPLib и WMPLib. Следующим шагом является добавление элемента управления в форму Windows.

Чтобы добавить элемент управления проигрывателя Windows Media в форму Windows

Перетащите элемент управления проигрывателя Windows Media из панели инструментов в Windows. Форма.

В окне свойств установите для свойства Dock значение Fill. Ты можешь сделать это, нажав на центральную площадь.

Дважды щелкните строку заголовка формы, чтобы добавить событие загрузки по умолчанию. в редакторе кода.

Добавьте следующий код в обработчик событий Form_Load для загрузки видео когда приложение открывается.

axWindowsMediaPlayer1.URL = 
    @"http://go.microsoft.com/fwlink/?LinkId=95772";

http://msdn.microsoft.com/en-us/library/bb383953(v=vs.90).aspx

3 голосов
/ 02 декабря 2008

Я настоятельно рекомендую эту библиотеку:

http://directshownet.sourceforge.net/

Это оболочка .NET для DirectShow API.

(примеры приложений должны помочь вам в этом.)

- Bruce

0 голосов
/ 01 декабря 2008

Предложения от Daok и Brian Genisio являются хорошими вариантами. Позвольте мне добавить третий: DirectShow. Раньше был частью DirectX, но теперь был повышен до Windows SDK. Есть много хороших примеров приложений на C #, и это дает полный контроль над воспроизведением.

0 голосов
/ 01 декабря 2008

Я бы рассмотрел , используя элементы управления мультимедиа WPF, и просто использовал ElementHost, чтобы поместить элемент управления WPF в приложение WinForms. Я думаю, вы получите гораздо более богатый опыт.

См. System.Windows.Forms.Integration для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...