Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Проигрывание в программе flash роликов |
Автор: desivers 22.3.2008, 11:58 |
Нужно в программе проигрывать swf ролики, возможность ставить их на паузу, как можно осуществить? |
Автор: frozer 23.3.2008, 00:48 |
Попробуй делать прогу под Framework 3.0 (или выше), используя WPF. Вроде там есть поддержка флэша. |
Автор: Flenger 23.3.2008, 14:01 | ||||||||||||
Окружение: Windows XP, .NET 2.0, Flash Player Способов встроить Flash ролик в форму - 2 (представлены ниже). Действия: перетянуть на форму компонент WebBrowser или создать и настроить его руками, установить ему свойство Url - путь к ролику (.swf) или к .html в котором всторен флеш объект.
Достоинства: простота Недостатки: нет возможности получать комманды от ролика и управлять им Способ подходит для простого отображения флеш контента. Если роликом нужно управлять или получать от него комманды, - необходимо воспользоваться вторым способом. 2. С помощью AxtiveX компонента Shockware Flash Object. Действия: - в VS 2005 правой кнопкой кликнуть на поле Toolbox, в контекстном меню выбрать Choose Items. - в появившемся окне Choose Toolbox Items перейти на закладку COM Components, выбрать Shokware Flash Object (я использую Debug версию 9 плеера, у меня это - c:\Windows\system32\Macromed\Flash\FlDbg9.ocx). - теперь на закладке у нас появился Shockware Flash Object, который можно смело перетянуть на форму.
- замеченные баги: Если при первой компиляции после добавления ролика выдает ошибку, что не найден только что добавленный компонент - необходимо удалить папки obj, bin в проекте. Работа с компонентом: - загрузка ролика в компонент:
здесь я надеюсь все понятно, смущение может вызвать первый параметр - для тех, кто знает флеш - это слой, на который будет загружен ролик. - получение команд от ролика: флеш ролик может взаимодействовать с окружением с помощью команды языка Action Sript - fscommand, например(обработчик нажатия кнопки во флеш ролике) -
первый параметр - имя комманды, второй - аргумент комманды. Ловим эту комманду из Windows.Forms : //подписываемся на событие от ролика на получение fscommand
при этом - e.command - команда (строка), e.args - аргумент команды (строка). В примере команда добавляется в текстовое поле для отображения. - управление роликом: для управления роликом у компонента есть блок методов, начинающихся с T, вот некоторые:
и еще много вкусного Данная статья расчитана наверное не на очень широкий круг читателей форума, но вопрос не достаточно освещен в рунете, поэтому я думаю кому-то, но она пригодится. Может кто-то мечтал написать флеш игрушку, но при этом не знал Action Script, прочитав эту статью, это можно сделать теперь на родном C# ![]() Проект с примером не выкладываю, по причине распространенности разных версий флеш плееров и ocx компонентов, но работоспособность приведенного кода будет соблюдаться при наличии флеш плеера версии 6 и старше, возможно и младше - не проверял. Вопросы и комментарии приветствуются. Спасибо прочитавшим, при распространении ставьте копирайты ;-) Автор этой статьи PIL (forum.sources.ru) |
Автор: desivers 24.3.2008, 04:51 | ||||
to Flenger спасибо что описал но есть пробелемы, через webBrowser
|
Автор: desivers 29.3.2008, 08:25 |
скинте маленький работающий пример с flash |
Автор: wl9x 15.8.2011, 00:29 |
Незнаю ли кому еще нужно, но так как у меня при добавлении компонента Shokware Flash Object на форму вылетало VS 2010 пришлось искать альтернативу Нашел хорошую библиотеку F-IN-BOX с компонентом для проигрывания swf i flv http://f-in-box.com/dotnet/ Тамже можно скачать пример программ, использующих данную библиотеку |