Läsa in videofiler

Flash Player 9 och senare, Adobe AIR 1.0 och senare

Att läsa in video med klasserna NetStream och NetConnection är en flerstegsprocess. Stegen med att lägga till Video-objektet i visningslistan, koppla NetStream-objektet till Video-instansen och anropa NetStream-objektets play() -metod bör utföras i den angivna ordningen:

  1. Skapa ett NetConnection-objekt. Om du ansluter till en lokal videofil eller någon som inte använder en server som Adobes Flash Media Server 2 skickar du null till metoden connect() om du vill spela upp videofiler från en HTTP-adress eller lokal enhet. Om du ansluter till en server anger du parametern som URI-adressen för programmet som innehåller videofilen på servern.

    var nc:NetConnection = new NetConnection(); 
    nc.connect(null);
  2. Skapa ett nytt Video-objekt som visar videon och lägg till det i visningslistan för scenen, enligt följande kodfragment:

    var vid:Video = new Video(); 
    addChild(vid);
  3. Skapa ett NetStream-objekt och skicka NetConnection-objektet som ett argument till konstruktorn. Följande kodfragment kopplar ett NetStream-objekt till NetConnection-instansen och ställer in händelsehanterare för strömmen:

    var ns:NetStream = new NetStream(nc); 
    ns.addEventListener(NetStatusEvent.NET_STATUS,netStatusHandler); 
    ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
     
    function netStatusHandler(event:NetStatusEvent):void 
    { 
        // handle netStatus events, described later 
    } 
     
    function asyncErrorHandler(event:AsyncErrorEvent):void 
    { 
        // ignore error 
    }
  4. Koppla NetStream-objektet till Video-objektet med Video-objektets attachNetStream() -metod, enligt följande kodfragment:

    vid.attachNetStream(ns);
  5. Anropa NetStream-objektets play() -metod med videofilens webbadress (url) som ett argument för att starta uppspelning av videon. Följande kodfragment läser in och spelar upp en videofil med namnet video.mp4 i samma katalog som SWF-filen:

    ns.play("video.mp4");