2011-06-02 64 views
2

如何加載並在Flash播放.avi或.mpg4?那可能嗎 ?閃光燈是否播放.avi或.mpg4?如果是,如何?

- >這個類可以播放FLV的,也.MP4 ..但對於.AVI它顯示錯誤 「錯誤#2044:未處理的NetStatusEvent :.水平=錯誤,代碼= NetStream.Play.StreamNotFound」

package src {  
    import flash.display.Sprite;  
    import flash.media.Video;  
    import flash.net.NetConnection;  
    import flash.net.NetStream;  
    import flash.events.Event; 
    import flash.events.MouseEvent; 

     public class vplayer extends Sprite{     
      public var vid:Video = new Video(1920,1080); 
      private var nc:NetConnection = new NetConnection(); 
      public var ns:NetStream; 
      public var listener:Object = new Object(); 
      private var _duration:Number = 0; 

      public function vplayer():void{    
       addChild(vid); 
       nc.connect(null); 
       ns = new NetStream(nc); 
       vid.attachNetStream(ns); 
       listener.onMetaData = metaDataHandler; 
       ns.client = listener;   
       //customClient.onCuePoint = cuePointHandler; 
      } 
      public function playVideo00(vv:String):void{ 

       ns.play(vv); 
      } 
      public function stopVideo00():void{ 
       ns.close(); 
      } 
      /*public function cuePointHandler(infoObject:Object):void { 
       trace("cuePoint"); 
      }*/ 
      public function metaDataHandler(infoObject:Object):void { 
       _duration = infoObject["duration"]; 
       trace (" Time: " + infoObject["duration"]); 
      } 
      public function get duration00():Number {  
       return _duration; 
      } 
     } 
} 

..任何幫助嗎?

回答

5

如果該文件是一個流媒體服務器上的MP4,你只需要使用前綴您的視頻文件名「MP4:」讓RTMP呼叫時。您需要確保只將其添加到實際的視頻文件中,而不是完整的URL。

例子:

如果你的全視頻是在rtmp://domain.com/dir/myVideo.mp4那麼你將前綴myVideo.mp4當你調用play()功能。

ns.play("mp4:myVideo");

根據您的流媒體服務器的設置,你可能會或可能不需要的文件擴展名。

1

this example可以播放.mp4文件

+0

Thanks .. that works,but not for.avi .. – 2011-06-03 01:52:43

1

文件擴展名其實並不意味着太多。 AVI,QuickTime等是容器格式,其中的音頻和視頻流格式(即編解碼器)可能會有所不同。對於一些,容器格式也可能有所不同。

Flash Video文章在維基百科上總結的東西還算不錯了,因爲它是在Flash Player的版本有什麼可玩。

就播放視頻而言,您可以使用FLVPlayback或使用普通播放器(如FlowPlayer)製作自己的播放器。

+0

此類可以播放.flv和.mp4 ..但對於.avi,它顯示錯誤「Error#2044:Unhandled NetStatusEvent :. level = error,code = NetStream.Play.StreamNotFound」 – 2011-06-03 01:54:00

+0

你看了我提到的文章?我非常懷疑你的AVI實際上包含Flash Player可以解碼的音頻/視頻。換句話說,它不是您使用的AS3類的功能。所有的視頻播放器本質上都是相同的功能問題是Flash Player本身可以解碼的音頻/視頻格式。 – mpdonadio 2011-06-03 02:22:11

+1

That's真實,而且,從網頁播放AVI文件不是做一件好事,AVI's文件大小大多是大。所以也許Adobe更喜歡支持flv和mp4而不是avi。 @ MPD – 2011-06-03 05:36:50

相關問題