我正在尝试通过vlc插件为firefox搜索从远程服务器流式传输的.avi文件。我试图通过该文件寻找。我知道,如果它正在流式播放,那么播放器可能无法知道视频的实际长度,也可能很难找到尚未下载的部分视频,但如果我只是想获得0位?我的意思是:如果我只想重新启动视频怎么办?应该可以并且很容易实现它。这是我的代码:
<html>
<title>VLC Mozilla plugin test page</title>
<body>
<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org" version="VideoLAN.VLCPlugin.2"
width="640"
height="480"
id="vlc" target="http://www1003.megaupload.com/files/4ad9c3466e2ce41b3bcfb6146d4d8ca0/Il%20Cavaliere%20Oscuro%20CD1.avi">
</embed>
<script language="Javascript">
function restart()
{
var vlc = document.getElementById("vlc");
vlc.input.time=0;
}
</script>
<a onclick="restart();">DOIT</a>
</body>
</html>
但...!它根本不起作用。当我点击DOIT时,视频滞后半秒(所以看起来它实际上可以“感觉”某些东西)但是从当前位置不受干扰地继续播放。我该怎么办?
我非常绝望,任何帮助/建议都非常感谢!
使用
vlc.playlist.stop();
vlc.input.time = 1;
vlc.playlist.start();
参考http://www.videolan.org/doc/play-howto/en/ch04.html#id591206
但是请注意:并非所有视频都是“可搜索的” - 如果您碰巧流式传输其中一个视频,那么上述内容将无效(也可以使用DivX插件)......在这种情况下,某些玩家会自行实施某种缓冲以允许寻求但是这超出了javascript解决方案的范围......
在诸如megaupload之类的文件下载服务中通常不支持寻求。可以使用普通的流服务来完成它,但必须得到Web服务器的支持。
如果要模拟搜索,仍可以增加缓冲区大小。