如何在Flash中加载和播放.avi或.mpg4?这可能吗?
- >这个类可以播放.flv和.mp4 ..但是对于.avi它显示错误“错误#2044:未处理的NetStatusEvent:。level = error,code = 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;
}
}
}
..任何帮助?
答案 0 :(得分:5)
如果文件是流媒体服务器上的MP4,则在进行RTMP呼叫时,您只需要在视频文件名前加上“mp4:”。您需要确保只将其添加到实际的视频文件中,而不是完整的URL。
示例:
如果您的完整视频位于rtmp://domain.com/dir/myVideo.mp4
,那么当您调用myVideo.mp4
功能时,您会在play()
前加上前缀。
ns.play("mp4:myVideo");
根据您的流媒体服务器的设置,您可能需要也可能不需要文件扩展名。
答案 1 :(得分:1)
this example可以播放.mp4
个文件
答案 2 :(得分:1)
文件扩展名实际上并不意味着那么多。 AVI,QuickTime等是容器格式,其中的音频和视频流格式(即编解码器)可以变化。对于某些人来说,容器格式也会有所不同。
维基百科上的Flash Video文章总结了可以在什么版本的Flash Player中播放的内容。
就播放视频而言,您可以使用FLVPlayback制作自己的播放器,也可以使用FlowPlayer等常用播放器。