我正在构建一个 Flash 网站,其中各部分之间有视频转换。单击导航元素时,会有一些代码来检查相关 FLV 是否已加载。如果没有,它将被初始化(即netstream 附加到视频对象等)、加载和播放;如果有,它就会重新启动并播放。到目前为止,一切都很好。

我的问题是关于视频已经加载并重播的情况,因为用户正在重新访问他们已经访问过的网站的一部分。每当重播视频时,视频最后一帧就会出现视觉闪烁,大约持续十分之一秒,然后重新启动并正确播放。我尝试了几种方法来消除“闪烁”,包括在重播之前对 netStream 对象进行查找(0)。顺便说一句,视频对象在播放给定转换之前立即添加到舞台,并在转换完成后通过回调立即从舞台中删除。鉴于它是在调用seek(0)之后添加到舞台的,这个问题仍然存在,这让我觉得特别奇怪。

关于什么可能导致我的幻像最终帧闪烁有什么想法吗?

编辑:如果有人想知道,该网站是用 AS3 构建的,并使用 Gaia flash 框架,尽管我很确定这不会造成任何麻烦,因为我在没有 Gaia 的情况下构建了一个概念验证并遇到了同样的问题。

有帮助吗?

解决方案

有几点值得尝试:

  • 如果您重复使用相同的视频对象,请尝试 videoObject.clear()
  • 重新播放视频时,将NetStream上的缓冲区设置为0
  • 尝试推迟将 NetStream 添加到视频对象,直到收到 NetStream.Play.Start 消息

如果您需要有关此代码的帮助,请告诉我。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top