2016-08-05 71 views
0

上落後於我正在開發在Adobe AIR應用程序在2560×1440的分辨率,顯示了博物館展覽的視頻。該應用程序在我的機器上運行順暢,但是當我在另一個(功能較弱的)計算機上運行它時,它不能按預期運行。我已經在除了我自己的兩臺機器上發送了應用程序。AS3 NetStream的第一幀

問題是當其中一個視頻被調用時,視頻被調用並顯示視頻的第一幀,並在那裏滯留很長時間(5-10),但是我仍然可以聽到音頻。大約8-10秒後,視頻播放回來,就好像它已經播放過一樣,並在正常恢復播放之前短暫地結束(1-2秒)。這是每次視頻啓動時的一致行爲,只要它是一個相當大的視頻(據我所知可以超過50 MB)。

在我的開發機器上沒有發生這種情況,它有一個GTX 980顯卡,但除此之外和主板,我想不出多臺機器的規格有什麼區別。

視頻拋出指示緩衝的事件是立即全部作爲視頻被推出,所以緩衝似乎並不成爲問題。

編輯:Code(引擎收錄)

編輯2:想通了這是第一幀,不黑屏

+0

顯示如何顯示流的代碼。 2560x1440壓縮視頻對系統的要求相當高。你是否從流/連接中獲得任何其他狀態事件? – BadFeelingAboutThis

+0

與引擎收錄鏈接(語法高亮)編輯後 –

+0

不是一個答案,但小費,使用'而不是'StageVideo'如果Video'您可以根據它執行更好。如果你不小心,內聯函數可能會回來咬你。 – BadFeelingAboutThis

回答

0

還沒完全肯定這個問題的根源所在,但什麼固定它在調用視頻後立即添加此代碼。它所做的是暫停播放並添加一個定時器一秒鐘,然後在視頻中查找0.5秒。我還沒有通過測試,但超越了第一幀滯後,但它的工作原理。

ns.pause(); 
var hesitate:Timer = new Timer(1000, 1); 
hesitate.addEventListener(TimerEvent.TIMER_COMPLETE, function(e:TimerEvent) 
{ 
    ns.seek(0.5); 
    ns.resume(); 
}); 
hesitate.start();