2010-10-08 2 views
1

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

Там есть компонент 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; 

Однако видео не играет.

Это то, что появляется в журнале Output:

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

я могу заставить его работать путем добавления источника в окно Compenent параметров, но мне нужно, чтобы иметь возможность получить доступ к этим параметрам в коде ,

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

ответ

0

Во-первых, вам необходимо либо

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

ИЛИ

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

Так что, если вы даже не видите своего игрока, это, вероятно, потому, что вы делаете то и другое. Поскольку вы хотите управлять этим программным способом, используйте опцию -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 связи не сам плеер. Удостоверьтесь, что у вас нет каких-либо нарушений безопасности в песочнице и оттуда.

0

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

Ссылки:

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

Смежные вопросы