AS3视频循环无法在Mac OS

时间:2016-04-25 13:00:49

标签: macos actionscript-3 flash video

由于原因太复杂而无法解释,我突然不得不开始使用AS3制作Flash广告。

我是一名设计师,我对编码语言知之甚少,不得不修补已找到的代码以使工作正常。因此,我尝试制作一个带有循环视频的简单Flash广告,这种广告在Windows机器上运行良好,但在Mac机器上运行不正常(视频播放一次,不循环播放)。 知道我的非常简单的代码有什么问题吗?

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

var fl_NS:NetStream = new NetStream(fl_NC);
fl_NS.client = {};

var fl_Vid:Video = new Video( 300, 600 );
fl_Vid.attachNetStream(fl_NS);
addChild(fl_Vid);

var theVid = "http://www.glenat.com/dyn/glenat/upload/flv/grand angle_VE4.mp4";

fl_NS.play(theVid);

fl_NS.addEventListener(NetStatusEvent.NET_STATUS, NCListener); 
function NCListener(e:NetStatusEvent){ 
  if (e.info.code == "NetStream.Buffer.Empty") { 
    fl_NS.play(theVid); 
  } 
}
;

1 个答案:

答案 0 :(得分:0)

如果我是你,我会确认您确实在Mac OS上接收了缓冲区空事件。如果您是,并且仍然无法正常工作,请尝试ns.seek(0)

<强>更新

play()应该真正重命名为load(),因为它的目的是从文件中读取。 seek()会将播放头移回您指定的时间索引,因此0会将其置于开头。

通过在函数开头添加trace(e),您将知道您的函数是否被调用,以及它接收的数据类型。

尝试使用以下内容替换NCListener ...

function NCListener(e:NetStatusEvent) {
    trace(e);
    if (e.info.code == "NetStream.Buffer.Empty") {
        fl_NS.play(theVid);
        fl_NS.seek(0)
    }
}