Встраивание Flash Player в приложение C++ или Java?

Я хочу встроить Flash Player прямо в приложение C++ или Java.

Я нашел статью, в которой описывается, как это сделать для C#: http://www.adobe.com/devnet/flash/articles/stock_history03.html

К сожалению, у меня нет опыта работы с C#, COM или ActiveX. Мне нужен кто-нибудь, чтобы перевести этот код на C++, что позволит мне встроить Flash Player в окно Win32. В конечном итоге я хотел бы использовать эту информацию для встраивания Flash в приложение Java.

Я ищу три основных функции:

  1. Возможность воспроизвести Flash ролик
  2. Возможность получать события (например, щелчки мыши)
  3. Возможность отправлять события

Обновлено: если возможно, я предпочитаю решение с открытым исходным кодом.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
0
12 831
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Я не знаю, как встроить flash в C++, но Кристофер Декерс (известный SWTSwing) разработал интересный прием, позволяющий встроить его в Java. Вы можете найти больше информации в ветка объявления Javalobby.

Вот обновленная ссылка: https://github.com/Chrriis/DJ-Native-Swing

Отлично, теперь, когда вопрос был отредактирован, чтобы относиться только к C++, мой ответ звучит глупо и OT. :-)

Daniel Spiewak 18.10.2008 06:29

Извините;) Я надеялся, что на вопрос будет легче ответить ... Замечательные ссылки. К сожалению, Кристофер для этого использует SWT. Не похоже, что его NativeSwing совместим с обычными компонентами Swing (которые я надеялся использовать).

Gili 18.10.2008 06:46

Фактически, это является совместимо, вот и вся причина, по которой он это сделал. :-) Вы, конечно, всегда можете использовать SWT отдельно, но если вы хотите встроить в Swing нативные вещи, такие как браузер, Windows Media Player или flash-плеер, DJ Swing - это то, что вам нужно.

Daniel Spiewak 18.10.2008 06:51

Вау, ты прав! Это довольно много ... Я удивлен, что это не стало большой новостью в сообществе Java. По крайней мере, я не слышал об этом :) Большое спасибо за ссылку. Вы буквально сэкономили мне недели работы.

Gili 18.10.2008 07:11

Ух ты ! Отлично. Ссылка выше не работает. Здесь> Обратитесь к readMe.md github.com/Chrriis Получите Распространение DJ Native Swing на SourceForge.

pullCommitRun 11.04.2020 23:28

Если вы хотите использовать коммерческое решение, я бы порекомендовал Scaleform GFx. Это, правда, не дешево, но чертовски хорошо.

Один простой способ создать Flash-плеер в вашем окне: AtlAxCreateControlEx.

Для приема и отправки событий вам понадобится раковина: AtlAdvise. Вам также нужно будет определить функции, принимающие события, на стороне ActionScript (т.е. Flash).

Как это сделать? Можете ли вы предоставить несколько фрагментов кода, чтобы продемонстрировать это?

Gili 19.10.2008 06:08

Я лично не пробовал этого, но скажу, что в случае SWT / Java вы можете встроить окно браузера SWT в свое приложение SWT / Java, а в представлении браузера вы можете поместить контент с флэш-контентом, а затем общаться, скажем, с мостом Merapi с помощью флэш-ролика и Ява.

Если должен быть открытый исходный код, я бы рассмотрел Скрежет, реализацию флэш-памяти с открытым исходным кодом. Он работает на всех основных платформах, поддерживает большинство мультимедийных кодеков и предполагается встраивать в приложения через nsapi.

Вам следует использовать API подключаемого модуля Netscape. Он родной, и его используют все хорошие браузеры для загрузки плагина flash player. Хотя сам Flash Player не является открытым исходным кодом, это API.

Если вы не собираетесь поставлять копию flashplayer вместе со своим приложением:

Ваше приложение должно во время выполнения проверять наличие флеш-плеера и должно предупреждать пользователя, если оно не находит его (обычно путем предоставления ссылки на Adobe для его загрузки). Плагин Flashplayer обычно устанавливается на %AppData%\Mozilla\plugins в Windows.

Взгляните на FlashDX. Это открытый исходный код и бесплатный.

Другие вопросы по теме