【发布时间】:2010-01-29 23:12:26
【问题描述】:
我正在做一个项目,其中有从 3D 环境的 Maya 渲染的飞行短片。我制定了一个 swf,将剪辑加载为 FLV 并相应地播放它们。
我当前的脚本有时在 FLV 播放期间似乎被炸毁并且永远无法恢复。 swf 大小为 1280x720 和大约 1500 比特率,但剪辑非常小。通常低于 1mb 并且我在播放前预加载了所有的 flv。这是我的脚本的精简版:
function playFLV(fileName) {
var netConnection:NetConnection = new NetConnection();
netConnection.connect(null);
var netStream:NetStream = new NetStream(netConnection);
VideoHolder.MainVideo.attachVideo(netStream);
// Status Events
netStream.onStatus = function(infoObject:Object) {
// Status Codes
tracer.text = infoObject.code;
switch (infoObject.code) {
// StartPlay
case "NetStream.Play.Start":
// Do some stuff
break;
// StopPlay
case "NetStream.Buffer.Empty":
// Do some stuff
break;
}
}
// Play
if(netStream.bytesLoaded==netStream.bytesTotal ) {
netStream.setBufferTime(2); // I tried playing with the buffer time but nadda
netStream.play("flv/"+fileName);
}
}
我想知道是否有更有效的方法来做到这一点。 我正在考虑将每个帧的关键帧放入 SWF 文件并使用 loadMovie。
我们将不胜感激。
【问题讨论】:
标签: flash video streaming actionscript-2