Отображение содержимого Flash в приложении C # WinForms

Каков наилучший способ отображения Flashсодержимого в приложении C # WinForms? Я хотел бы создать пользовательский элемент управления (похожий на текущий PictureBox), который сможет отображать изображения и флэш-контент.

Было бы здорово иметь возможность загружать флэш-контент из своего рода потока, а не из файла на диске.

4.08.2008 05:35:52
Я одобрил ответ Свена, но лишь небольшую заметку: использование компонента WebBrowser вполне управляемо и фактически предназначено именно для этого вида использования (встраивание в пользовательские интерфейсы приложений). Конечно, вы можете указать элемент управления браузера на URL-адрес, но вы также можете точно указать содержимое, которое он содержит, отвечать на события и так далее. Существует даже протокол / схема встроенного ресурса (res: //), который вы можете использовать для ссылки на встроенные ресурсы. Но очевидно, что если компонент Flash сам по себе чист, это лучший путь :)
user2189331 4.08.2008 06:35:44
2 ОТВЕТА
РЕШЕНИЕ

Хотя я не использовал флеш-объект внутри приложения Windows Form, я знаю, что это возможно. В Visual Studio на панели инструментов выберите добавление нового компонента. Затем в появившемся новом окне выберите вкладку «COM-компоненты», чтобы получить список, в котором вы можете найти «Shockwave Flash Object»

После добавления в панель инструментов просто используйте элемент управления так же, как и любой другой «стандартный» элемент управления из Visual Studio.

Для взаимодействия с элементом управления доступны три простые команды:

  • AxShockwaveFlash1.Stop ()
  • AxShockwaveFlash1.Movie = FilePath & "\ FileName.swf"
  • AxShockwaveFlash1.Play ()

которые, я думаю, все говорят сами за себя.

Было бы здорово иметь возможность загружать флэш-контент из своего рода потока, а не из файла на диске.

Я только что видел, что вы также ищете способ загрузки контента из потока, и, поскольку я не совсем уверен, что это возможно с помощью объекта ShockWave Flash, я дам вам другой вариант (на самом деле два).

Первый - тот, который я бы посоветовал использовать только при необходимости, поскольку он использует полнофункциональный «компонент веб- браузера» (также доступный в качестве дополнительного элемента панели инструментов), который похож на попытку выстрелить мухой из базуки. конечно, он будет работать, так как элемент управления будет действовать как реальное окно браузера (на самом деле это браузер Internet Explorer), но на самом деле он не предназначен для использования так, как вам нужно.

Второй вариант - использовать то, что я только что обнаружил, при поиске дополнительной информации о воспроизведении флэш-содержимого в форме Windows. F-IN-BOX - это коммерческое решение, которое также будет воспроизводить контент с заданного URL-адреса веб-сайта. (Предоставленная ссылка направит вас к .NET-коду, который вы должны использовать).

32
4.08.2008 06:59:42
Примечание: в VS 2013 опция на панели инструментов называется «Выбрать элементы ...» при щелчке правой кнопкой мыши на панели инструментов.
Alexei Levenkov 24.05.2014 04:13:11

Свен , ты пришел к тому же выводу, что и я: я нашел Shockwave Flash Object, все это было немного по другому пути, но был озадачен тем, как загрузить файлы откуда-то, кроме файла на диске / URL. F-IN-BOX , хотя только обертка Shockwave Flash Object кажется, обеспечивает гораздо больше функциональные возможности , которые могут только помочь мне!

Снимать мухи с базуки может быть весело, но поиск встраиваемого веб-браузера - это не тот путь, который я ищу. :)

На сайте Adobe была ссылка, в которой говорилось «Встраивание и связь с Macromedia Flash Player в приложениях C # для Windows», но они, похоже, удалили ее :(

8
28.02.2019 19:34:47