Не могу программно управлять FLVPlayback с помощью ActionScript - PullRequest
1 голос
/ 08 октября 2010

Я пытаюсь управлять воспроизведением потокового видео в реальном времени с помощью кода ActionScript 3 во Flash Professional.

На моей сцене есть компонент FLVPlayback под названием "flvPlayer", а во втором кадре слоя "Действия" у меня есть следующий код:

import fl.video.FLVPlayback; 
import flash.display.Sprite;
var vidURL:String = new String("rtmp://www.mycompanyserver.com/test/live/livestream");
var flvPlayer:FLVPlayback = new FLVPlayback(); 
addChild(flvPlayer);  
flvPlayer.source = vidURL;
flvPlayer.isLive = true;
flvPlayer.autoPlay = true;

Однако видео не воспроизводится.

Вот что отображается в журнале вывода:

http://i.stack.imgur.com/J5n7J.png

Я могу заставить его работать, добавив источник в окно Compenent Parameters, но мне нужно иметь доступ к этим параметрам в коде.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Ответ @Brandon - это также мое первое предположение, но я хотел бы добавить, что на сервере, с которого идет поток, должен быть файл crossdomain.xml в корне (www.mycompanyserver.com/crossdomain. xml) и междоменный домен должен принимать сервер, на котором размещен файл флэш-памяти.

Ссылки:

Пожалуйста, отметьте это как ответ, если это поможет.

0 голосов
/ 09 октября 2010

Прежде всего, вам нужно либо

-1- import fl.video.FLVPlayback и создайте новый экземпляр, как вы сделали var flvPlayer:FLVPlayback = new FLVPlayback();

OR

-2 - перетащите компонент FLVPlayback и назовите экземпляр с помощью панели свойств, а затем ссылайтесь на него прямо в вашем ActionScript

Так что, если вы даже не видите своего игрока, это, вероятно, потому что вы делаете оба. Поскольку вы хотите контролировать это программно, выберите опцию -1-. Однако вам все еще нужен ваш компонент FLVPlayback в вашей библиотеке.


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

import fl.video.FLVPlayback; 
var flvPlayer:FLVPlayback = new FLVPlayback(); 
addChild(flvPlayer);
flvPlayer.isLive = true;
flvPlayer.autoPlay = true;
flvPlayer.source = "rtmp://www.mycompanyserver.com/test/live/livestream";



Наконец, ваша необработанная NetStatusEvent, похоже, связана с проблемой вашего RTMP-соединения, а не с самим проигрывателем. Убедитесь, что у вас нет нарушений безопасности песочницы и идите оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...