FLV播放意外停止,永远不会恢复

时间:2010-01-29 23:12:26

标签: flash video streaming actionscript-2

我正在开展一个项目,其中包含从3D环境的maya渲染的飞行短片。我编写了一个swf,将剪辑加载为 FLV 并相应地播放它们。

我目前的剧本似乎有时会在FLV播放期间轰炸,永远不会恢复。 swf大小 1280x720 1500 bitrate ,但剪辑非常小。通常在 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。

我们非常感谢任何想法。

1 个答案:

答案 0 :(得分:0)

您是否考虑将FLV服务器端合并为一个FLV?如果您的源FLV都具有相同的CODEC和CODEC参数,我想您甚至可以动态地执行此操作。

我还会花更多的时间来解决你遇到问题的原因。

  • 您是否确认FLV已按预期预装?
  • 它们是否在浏览器端正确缓存?
  • 该缓存是否完好无损?
  • 错误消息究竟是什么?

这些都是我在你的问题中没有看到的细节,我会问自己。