我如何处理IE中迟到的onMetaData?

时间:2010-04-07 13:28:24

标签: flash actionscript-3 metadata video-streaming flv

我正在尝试动态调整在Flash播放器中播放的flv的大小。要做到这一点,我需要获得flv的宽度/高度,以便保持原始的宽高比。

我注意到在Firefox中会立即点击onMetaData事件,视频会正常调整大小。但是,在IE中,在缓冲区已满且视频开始播放之前,不会触发onMetaData。

我想到的一个解决方案是将初始缓冲区设置为接近0(例如0.01)。然后缓冲区将立即变满,视频将被调整大小。

我遇到的问题是低带宽用户在进入下一个更大的缓冲区之前会有一个短暂的“溅射”视频(0.5秒)。

有没有更好的方法来处理IE中的这种行为?您可以在FLV文件播放之前手动“获取”元数据吗?

1 个答案:

答案 0 :(得分:1)

可以加载FLV并将字节读取为ByteArray并从中获取元数据。元数据信息应位于文件头中。我不确定这是否是最佳方法。您可能只需加载前X个字节数来获取FLV文件头,这样就不需要加载整个FLV两次。

以下是实际操作:我之前构建的FLV tool(使用本地FLV)。这会加载完整的文件,但您显然只想加载标题。