无论是从控制台还是在我的标签中,我都无法使用javascript设置html5视频元素的当前时间.我也在使用jQuery,但我不知道这是否与问题有关.我在Ubuntu上使用Google Chrome 24.0.1312.57; 下面是我想要做的一个例子
<html>
<script type="text/javascript">
var video = document.getElementById("video");
var videoSourceString = "<source src=http://URL:PORT" + path + " type='video/mp4'></source>";
$(video).html(videoSourceString);
video.load();
var frameRate = 24;
video.currentTime += 1/frameRate;// doesn't do anything, leaves currentTime same as before
</script>
<body>
<video id="video">
</video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
视频播放和暂停很好,但每当我尝试手动更改时间时它都不起作用.
我已经查看了HTML5视频 - Chrome - 错误设置currentTime,并且控制台中没有此类错误,实际上它不会显示任何错误.我也无法使用video.currentTime + = 1或document.getElementById("video")从控制台更改currentTime.当前时间= 0,任意数字.
非常感谢你!
我有一个HTML5网页示例
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function log(msg) { console.log(msg); }
$(document).ready(function() {
var video = document.getElementById("video");
video.load();
video.addEventListener('loadedmetadata', function(){
video.currentTime = 95.061728395;
});
});
</script>
<body>
<video id="video" preload="none" height="360" width="640">
<source src="news.mp4">
Your browser does not support this video.
</video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
手动设置视频标签的currentTime属性,但是它正在寻找与我使用OpenCV / mplayer得到的帧不同的帧,并寻求相同的时间。
使用javascript,我会在有效时间搜索视频,并获得一个通常通常比该帧早2帧的帧。我在用
video.currentTime = 95.061728
在浏览器中
echo -n p | mplayer -ss 95.061728395 static/news.mp4
作为复制框架内容的命令。OpenCV代码与mplayer框架要查找的内容匹配。
在mplayer中,视频格式为:
Playing static/news.mp4.
libavformat version 53.21.1 (external)
Mismatching header version 53.19.0
libavformat file format detected.
[lavf] stream 0: …
Run Code Online (Sandbox Code Playgroud)