2016-04-25 49 views
0

由於在這裏解釋太複雜,我突然不得不使用AS3製作Flash廣告。AS3視頻循環無法在Mac OS上工作

我是一名設計師,我對編程語言知之甚少,不得不修補發現的代碼以使其工作。所以我試圖用一個循環視頻製作一個簡單的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); 
    } 
} 
; 

回答

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) 
    } 
} 
+0

感謝您的答覆!不知道該怎麼做,但我會朝這個方向進行調查。 – YearZeroJoss

+0

更新了一些更多信息。希望這能解釋我的意思。 – Atriace