直接从文件系统访问以下html会给我正确的持续时间。
<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中发生。
任何帮助都将不胜感激。
答案 0 :(得分:1)
似乎Mongrel和其他一些服务器不支持字节范围请求。因此,浏览器(对于Ogg文件)在到达结束之前无法知道视频的长度。
以下是一篇文章:http://www.ruby-forum.com/topic/130850
运行Apache,它支持我认为的字节范围请求,可以工作。要考虑的一件事是在Ogg文件中有足够的关键帧来改进ogg文件中的导航(跳转)。