Sök…


Ladda och spela extern videofil


referens : NetConnection , NetStream , Video

relaterade ämnen : Arbeta med ljud


Grundläggande exempel på att spela en extern videofil (FLV, MP4, F4V). Koden spelar också upp M4A-ljudfiler.

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

var ns:NetStream = new NetStream(nc);

var myVideo:Video = new Video();
addChild(myVideo);

myVideo.attachNetStream(ns);

ns.play("http://www.yourwebsite.com/somefile.mp4");

Observera att koden använde en nc.connect.null ? Det beror på att det i det här fallet inte finns något behov av att skapa en tvåvägs peer-to-peer-anslutning (t.ex.: som förväntat i en videochatt-app) eftersom vi spelar en lagrad fil.

Genom att ställa in en nc.connect.null krävs det att ange en länk till en fil som antingen finns på en webbserver eller en som är lokal (samma plats / mapp) till den löpande SWF.

  • För en webb-fil användning: ns.play("http://www.yourwebsite.com/somefile.mp4");
  • Använd en lokal fil: ns.play("somefile.mp4");

Med NetStatusEvent

package {
    import flash.events.NetStatusEvent;
    import flash.net.NetStream;
    import flash.net.NetConnection;
    import flash.events.Event;
    import flash.media.Video;
    import flash.display.Sprite;
    public class VideoWithNetStatus extends Sprite {
        private var video:Video = new Video();
        private var nc:NetConnection;
        private var ns:NetStream;
        
        public function VideoWithNetStatus() {
            nc = new NetConnection();
            nc.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
            nc.connect(null);//or media server url
        }
 
         private function onStatus(e:NetStatusEvent):void{
             switch(e.info.code){
                 case 'NetConnection.Connect.Success':
                     connectStream();
                 break;
                 default:
                     trace(e.info.code);//to see any unhadled events   
             }
         }
         private function connectStream():void{
             ns = new NetStream(nc);
             ns.addEventListener(NetStatusEvent.NET_STATUS, onStatus);
             addChild(video);
             video.attachNetStream(ns);
             ns.play('url/to/video.flv');
         }
    }
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow