Actionscript - Помощь видеоплеера! - Вспышка - PullRequest
0 голосов
/ 03 мая 2011

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

var conn:NetConnection = new NetConnection();
conn.connect(null);

var nstream:NetStream = new NetStream(conn);
nstream.setBufferTime(10);

trailer.attach(nstream);
nstream.play("arthur.flv");

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Похоже, вы забыли одну важную часть, вам нужно добавить NetStream к видеообъекту после успешного подключения NetConnection.


var connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

function netStatusHandler(event:NetStatusEvent):void {
      switch (event.info.code) {
          case "NetConnection.Connect.Success":
              connectStream();
              break;
          case "NetStream.Play.StreamNotFound":
               trace("Stream not found: " + videoURL);
                break;
          }
}

function connectStream():void {
    stream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    stream.client = new CustomClient();
    var video:Video = new Video();
    video.attachNetStream(stream);
    stream.play(videoURL);
    addChild(video);
}

Ознакомьтесь с документами AS3 NetStream здесь .Там много информации и примеров, чтобы помочь вам.

1 голос
/ 03 мая 2011

Добавлен ли трейлер на сцену? Как это:

var trailer = new Video(); 
trailer.attachNetStream(nstream); 
addChild(trailer); 

Также вы проверили, что NetStream не выдает ошибку? Как это:

nstream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
nstream.play("video.flv"); 
function asyncErrorHandler(event:AsyncErrorEvent):void{ 
    trace(event);
} 

Редактировать: Также вы проверили состояние сети и ошибки безопасности? Как это:

nstream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

function netStatusHandler(event:NetStatusEvent):void {
     switch (event.info.code) {
         case "NetConnection.Connect.Success":
             connectStream();
             break;
         case "NetStream.Play.StreamNotFound":
             trace("Unable to locate video: " + videoURL);
             break;
     }
} 

function securityErrorHandler(event:SecurityErrorEvent):void {
    trace("securityErrorHandler: " + event);
}
...