Как взаимодействовать с Flash через Javascript? - PullRequest
1 голос
/ 12 июня 2011

На данный момент существует очень простой flash-проект, который подключается к серверу rtmp и передает потоковое видео и аудио с веб-камеры.Он создает поток от пользователя с определенным именем.

Также в том же проекте есть вход для имени потока, который может передавать другой объект.Поэтому вы получаете Skype-видео-чат со вспышкой.

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

Я пытаюсь понятьКак я могу управлять функциями Flash (StartPublish, StartStream и т. д.) через Javascript.

Я смотрю на http://osflash.org/projects/flashjs и хотел бы знать, нахожусь ли я на правильном пути.

1 Ответ

6 голосов
/ 12 июня 2011

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html

Класс ExternalInterface разработан специально для этой цели. Это относительно простой класс для предоставления функций ActionScript JS или наоборот. Недавно я внедрил его в аудиоплеер, разработанный моей командой, чтобы треклист в формате HTML запускал и останавливал события.

По сути, вы можете сначала проверить код на ExternalInterface.available, чтобы убедиться, что у контейнера есть внешний интерфейс (IE в окне браузера с javascript, а не просто запущен из флеш-плеера.) Оттуда вы можете использовать addCallback для обозначения функции, которую затем можно вызывать в контейнере флеш-апплета.

Затем вы можете вызвать его, используя типичный javascript - просто получить доступ к методу вне контейнера, используя getElementByID или любой другой тип селектора, который вы предпочитаете, если используете каркас.

Убедитесь, что ваш метод встраивания разрешает скриптовый доступ и к флеш-апплету.

...