AS3 NetStream落后于第一帧

时间:2016-08-05 18:40:07

标签: actionscript-3 flash video air

我正在Adobe Air开发一个应用程序,以2560x1440的分辨率显示博物馆展览的视频。应用程序在我的机器上顺利运行,但是当我在另一台(功能较弱的)计算机上运行时,它无法正常运行。我已经在我自己的两台机器上发送了应用程序。

问题是当其中一个视频被调出时,视频被调出并显示视频的第一帧并且在那里停留很长时间(5-10),但是我仍然可以听到音频。大约8-10秒后,视频会像之前播放一样播放,短暂停顿(1-2秒),然后恢复正常播放。每次视频发布时都是一致的行为,只要它是一个相当大的视频(据我所知,大约50 MB)。

这种情况在我的开发机器上没有发生,其中有一块GTX 980显卡,但除此之外和主板,我想不出多台机器规格之间的差异。

当视频启动时,视频会立即抛出一个指示缓冲区已满的事件,因此缓冲似乎不是问题。

修改:Code(Pastebin)

编辑2:弄清楚它是第一帧,而不是黑屏

1 个答案:

答案 0 :(得分: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();
相关问题