Открытие Flash (*.swf) в Windows Form

      Файл с расширением SWF (Shock Wave Format) предназначен для хранения векторной графики и анимации, может содержать звук и др. Файлы с таким расширением в настоящий момент широко используются в интернете для создания рекламных баннеров, анимации, игр, а также воспроизведения на веб-страницах видео- и аудиозаписей. SWF-файл можно открыть с Adobe Flash Player или с помощью практически любого web-браузера, который поддерживает технологию Flash. В данной инструкции будет рассмотрено три примера открытия файлов данного формата.

Пример №1.

      В данном примере рассмотрим открытие файлов формата «SWF» с использованием «Adobe Shockwave Player», плеера для проигрывания Flash роликов. Shockwave Player отображает предназначенный для Интернета контент, среди которого интерактивная мультимедийная демонстрация продуктов или онлайн-обучение, приложения электронного мерчандайзинга и мультимедийные многопользовательские онлайн-игры.
      Перед добавлением данного плеера в ваш проект, перейдите на сайт Adobe (https://get.adobe.com/shockwave/) и выполните его загрузку, нажав на кнопку «Download».

После загрузки компонента, выполните его установку.
      Создайте проект Windows Form в Microsoft Visual Studio и перейдите в Обозреватель решений, открыв «Меню-Вид-Обозреватель решений». Чтобы использовать скачанный компонент в данном проекте, необходимо сначала добавить ссылку на него. В обозревателе решений, сделайте клик правой клавишей мыши по группе «References», содержащей ссылки на библиотеки необходимые для работы проекта, а в открывшемся контекстном меню, выберете пункт «Добавить ссылку…».
      У вас откроется окно «Менеджер ссылок – (имя вашего проекта)», в левой части данного окна вам будет предложено выбрать одну из категорий. Visual Studio предоставляет четыре группы для выбора.
  • Сборки — список всех компонентов платформы .NET Framework, ссылки на которые можно добавить.
  • Решение — список всех повторно используемых компонентов, созданных в локальных проектах.
  • COM — список всех COM-компонентов, ссылки на которые можно добавить.
  • Обзор — позволяет осуществлять поиск компонента в файловой системе.
      Выберете группу «COM» и ее подгруппу «Библиотеки типов». В центральной части окна вам будет предложен список доступных библиотек для подключения к вашему проекту. Найдите в списке компонент «Shockwave Flash» и поставьте галочку рядом с его именем. В нижней части окна нажмите кнопку «ОК».
      После добавления библиотеки, в группе «References», Обозревателя решений, у вас появится новый пункт «ShockwaveFlashObjects».
      Для графического вывода плеера на форме, его необходимо добавить в панель элементов. Перейдите в «Панель элементов» и в группе «Общие» сделайте клик правой клавишей мыши по пустому пространству группы. В открывшемся контекстном меню выберете пункт «Выбрать элементы…».
      В открывшемся окне «Выбор элементов панели элементов», у вас по умолчанию будет открыта вкладка «Компоненты .NET Framework». Перейдите на вкладку «COM-компоненты». На данной вкладке вам будет предложено отметить галочками, компоненты которые вы хотите добавить. Найдите компонент «Shockwave Flash Objects» и поставьте галочку рядом с его именем. В нижней части окна нажмите кнопку «ОК».
      Перейдите в «Панель элементов». В группе «Общие» у вас появится новый элемент управления «Shockwave Flash Objects».
      Добавьте его на главную форму вашего проекта, а так же элементы управления «ComboBox» и «Button». У вас получится приведенный ниже пример.
      Сделайте двойной клик левой клавишей мыши по любому свободному месту главной формы, вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «Form1_Load», события «Load», выполняющегося при загрузке формы. Вставьте в тело данного метода приведенный ниже листинг, поиска всех файлов формата «*.swf» в каталоге исполняемого файла и вывода их имен в элемент управления «ComboBox».
//Выполняем инициализацию нового экземпляра 
//класса System.IO.DirectoryInfo для заданного пути.
System.IO.DirectoryInfo di =
     new System.IO.DirectoryInfo(Application.StartupPath);
//Выполняем поиск всех фалов с расширением *.swf
//в каталоге исполняемого файла.
foreach (System.IO.FileInfo file in di.GetFiles("*.swf"))
{
    //Добавляем имена найденных файлов
    //в элемент управления comboBox1
    comboBox1.Items.Add(file.Name); 
}

//Выбираем первый найденный файл
comboBox1.SelectedIndex = 0;
      Перейдите в конструктор главной формы и выполните двойной клик левой клавишей мыши по элементу управления «button1», вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «button1_Click», события «Click», выполняющегося при клике по данному элементу управления. Вставьте в тело данного метода вызов воспроизведения выбранного файла в «comboBox1».
//Открытие выбранного файла из списка
axShockwaveFlash1.Movie = Application.StartupPath +
      "\\" + comboBox1.SelectedItem.ToString();
axShockwaveFlash1.Forward();
axShockwaveFlash1.Play();
      Запустите ваш проект, нажав на клавиатуре клавишу «F5». У вас откроется главная форма с заполненным именами списком, найденных всех файлов формата «*.swf» в каталоге исполняемого файла.
      Выберете из списка необходимый вам для открытия файл и нажмите кнопку «Запуск», если файл корректно работает, то вы увидите его работу на форме.

Ссылка для скачивания примера: Яндекс.Диск


Ссылка для скачивания Shockwave Player: Яндекс.Диск


Пример №2.

      В случае если вы не хотите выполнять установку «Adobe Shockwave Player» на ваш компьютер, то вы можете воспользоваться его отдельными библиотеками AxInterop.ShockwaveFlashObjects.dll и Interop.ShockwaveFlashObjects.dll.
      Создайте проект Windows Form в Microsoft Visual Studio и перейдите в Обозреватель решений, открыв «Меню-Вид-Обозреватель решений». Чтобы воспользоваться скачанными библиотеками в данном проекте, необходимо добавить на них ссылку. В обозревателе решений, сделайте клик правой клавишей мыши по группе «References», содержащей ссылки на библиотеки необходимые для работы проекта, а в открывшемся контекстном меню, выберете пункт «Добавить ссылку…».

      У вас откроется окно «Менеджер ссылок – (имя вашего проекта)», в левой части данного окна вам будет предложено выбрать одну из категорий. Visual Studio предоставляет четыре группы для выбора.
  • Сборки — список всех компонентов платформы .NET Framework, ссылки на которые можно добавить.
  • Решение — список всех повторно используемых компонентов, созданных в локальных проектах.
  • COM — список всех COM-компонентов, ссылки на которые можно добавить.
  • Обзор — позволяет осуществлять поиск компонента в файловой системе.
      Выберете группу «Обзор». В центральной части окна вам будет предложен список уже добавляемых когда-то библиотек для подключения к вашему проекту, нажмите в нижней части окна кнопку «Обзор…», для добавления библиотеки «AxInterop.ShockwaveFlashObjects.dll».
      В открывшемся окне «Выберете файлы, на которые нужно установить ссылки…», перейдите в каталог со скачанными библиотеками и выберете библиотеку «AxInterop.ShockwaveFlashObjects.dll», нажмите кнопку «Добавить».
      В центральной части окна у вас появится добавленная библиотека с установленной возле ее имени, галочкой. В нижней части окна нажмите кнопку «ОК».
      После добавления библиотеки, в обозревателе решений у вас появится новый пункт «AxInterop.ShockwaveFlashObjects».
      Сделайте двойной клик левой клавишей мыши по любому свободному месту главной формы, вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «Form1_Load», события «Load», выполняющегося при загрузке формы. Вставьте в тело данного метода приведенный ниже листинг, инициализации компонента «AxShockwaveFlash» и поиска всех файлов формата «*.swf» в каталоге исполняемого файла и вывода их имен в элемент управления «ComboBox».
//Инициализируем новый компонент AxShockwaveFlash
fl = new AxShockwaveFlash();
//задаем координаты левого верхнего угла элемента управления
//относительно левого верхнего угла контейнера. 
fl.Location = new Point(10, 50);
//задаем высоту и ширину элемента управления.
fl.Size = new System.Drawing.Size(500, 200);
//задаем имя элемента управления.
fl.Name = "axShockwaveFlash1";
//Задаем границы контейнера, с которыми связан элемент управления,
//и определяем способ изменения размеров элемента управления при изменении
//размеров его родительского элемента.    
fl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom;
//Добавляем указанный элемент управления в коллекцию элементов
//управления.      
this.Controls.Add(fl);
//Выполняем инициализацию нового экземпляра 
//класса System.IO.DirectoryInfo для заданного пути.
System.IO.DirectoryInfo di = 
      new System.IO.DirectoryInfo(Application.StartupPath);
//Выполняем поиск всех фалов с расширением *.swf
//в каталоге исполняемого файла.
foreach (System.IO.FileInfo file in di.GetFiles("*.swf"))
{
    //Добавляем имена найденных файлов
    //в элемент управления comboBox1
    comboBox1.Items.Add(file.Name); 
}

//Выбираем первый найденный файл
comboBox1.SelectedIndex = 0;
      Так же добавьте приведенный ниже код объявления глобальной переменной «fl» в листинге главной формы.
public AxShockwaveFlash fl;
      Перейдите в конструктор главной формы и выполните двойной клик левой клавишей мыши по элементу управления «button1», вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «button1_Click», события «Click», выполняющегося при клике по данному элементу управления. Вставьте в тело данного метода вызов открытия выбранного файла в «comboBox1».
//Открытие выбранного файла из списка
fl.Movie = Application.StartupPath 
     +"\\" + comboBox1.SelectedItem.ToString();
fl.Forward();
fl.Play();
      Запустите ваш проект, нажав на клавиатуре клавишу «F5». У вас откроется главная форма с заполненным именами списком, найденных всех файлов формата «*.swf» в каталоге исполняемого файла.
Ниже представлены примеры открытия\запуска некоторых игр.



Ссылка для скачивания примера: Яндекс.Диск


Пример №3.

      Данный пример реализует открытие файлов «SWF» с использованием элемента управления «WebBrowser». Создайте проект Windows Form в Microsoft Visual Studio и добавьте на форму три элемента управления:
TextBox, WebBrowser и Button. У вас получится приведенный ниже пример.

      Сделайте двойной клик левой клавишей мыши по любому свободному месту главной формы, вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «Form1_Load», события «Load», выполняющегося при загрузке формы. Вставьте в тело данного метода приведенный ниже листинг, поиска всех файлов формата «*.swf» в каталоге исполняемого файла и вывода их имен в элемент управления «ComboBox».
//Выполняем инициализацию нового экземпляра 
//класса System.IO.DirectoryInfo для заданного пути.
System.IO.DirectoryInfo di = 
     new System.IO.DirectoryInfo(Application.StartupPath);
//Выполняем поиск всех фалов с расширением *.swf
//в каталоге исполняемого файла.
foreach (System.IO.FileInfo file in di.GetFiles("*.swf"))
{
    //Добавляем имена найденных файлов
    //в элемент управления comboBox1
    comboBox1.Items.Add(file.Name); 
}

//Выбираем первый найденный файл
comboBox1.SelectedIndex = 0;
      Перейдите в конструктор главной формы и выполните двойной клик левой клавишей мыши по элементу управления «button1», вы перейдете в редактор кода с установкой курсора в автоматически созданном методе «button1_Click», события «Click», выполняющегося при клике по данному элементу управления. Вставьте в тело данного метода вызов воспроизведения выбранного файла в «comboBox1».
webBrowser1.Navigate(Application.StartupPath +"\\"
          + comboBox1.SelectedItem.ToString());
      Запустите ваш проект, нажав на клавиатуре клавишу «F5». У вас откроется главная форма с заполненным именами списком, найденных всех файлов формата «*.swf» в каталоге исполняемого файла. Ниже представлен пример запуска игры.

Ссылка для скачивания примера: Яндекс.Диск


Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!