我构建了一个html5视频播放器,但是我发现了一些不准确的搜索时间问题,特别是在OS X&当帧解码启用硬件加速时。亲自尝试 - 转到带有视频的任何页面(例如:http://www.w3schools.com/html/html5_video.asp)并在控制台中运行 -
var vid = document.getElementsByTagName('video')[0];
var vidPlay = setInterval(function(){ vid.currentTime+=(1/30) }, 250);
您会看到视频伪播放,但如果您看到您偶尔会看到错误的帧。使用不同的帧速率并没有帮助(这是1/30部分)。以下是我所看到的视频:https://www.youtube.com/watch?v=I561KHt2af4
除了要求用户在浏览器中禁用硬件加速之外,还有办法解决这个问题吗?
答案 0 :(得分:0)
也许在github上试试这个库:
VideoFrame
// Just posting this here so I can add a fiddle link.
// Check the link
var currentFrame = $('#currentFrame');
var video = VideoFrame({
id : 'video',
frameRate: 29.97,
callback : function(frame) {
currentFrame.html(frame);
}
});
$('#play-pause').click(function(){
if(video.video.paused){
video.video.play();
video.listen('frame');
$(this).html('Pause');
}else{
video.video.pause();
video.stopListen();
$(this).html('Play');
}
});