2010-07-11 68 views
1

直接从文件系统访问以下html会给我正确的持续时间。HTML5视频持续时间来自Mongrel服务器的NaN,但从直接文件访问的正确时间

<video src="multimedia/bbb400p.ogv" id="v"></video> 
<button onclick="alert(document.getElementById('v').duration); 
       document.getElementById('v').play()">Play</button> 

但是,通过mongrel web服务器(在我的机器上并通过heroku云服务)访问它给了我一个NaN。

还创建了一个测试代码,它为'canplay'事件添加了一个侦听器,并且仍然使用服务器获取NaN的持续时间。

这发生在FireFox和Chrome中。

任何帮助,将不胜感激。

回答

1

似乎Mongrel和其他一些服务器不支持字节范围请求。因此,浏览器(用于Ogg文件)在到达结尾之前无法知道视频的长度。

这里是它的一篇文章:http://www.ruby-forum.com/topic/130850

运行的Apache,支持字节范围请求我相信,作品。要考虑的一件事是在Ogg文件中有足够的关键帧来改进ogg文件中的导航(跳转)。