我需要一种方法来获取视频的总时间长度和jquery的当前时间,并将其显示在几个< div>中。标签
<div id="current">0:00</div>
<div id="duration">0:00</div>
我一整天都在搜索,我知道如何获取它们我只是无法显示它们。 #jquerynoob
答案 0 :(得分:49)
<强> HTML:强>
<video
id="video-active"
class="video-active"
width="640"
height="390"
controls="controls">
<source src="myvideo.mp4" type="video/mp4">
</video>
<div id="current">0:00</div>
<div id="duration">0:00</div>
<强> JavaScript的:强>
$(document).ready(function(){
$("#video-active").on(
"timeupdate",
function(event){
onTrackedVideoFrame(this.currentTime, this.duration);
});
});
function onTrackedVideoFrame(currentTime, duration){
$("#current").text(currentTime); //Change #current to currentTime
$("#duration").text(duration)
}
备注:强>
每隔15到250毫秒,或每当MediaController的媒体控制器 用户代理必须更改位置更改,以最不常见的方式发生 对任务进行排队以触发名为timeupdate的简单事件 的MediaController。
http://www.w3.org/TR/html5/embedded-content-0.html#media-controller-position
答案 1 :(得分:18)
此页面可能会帮助您。 Everything you need to know about HTML5 video and audio
var video = document.createElement('video');
var curtime = video.currentTime;
如果您已有视频元素,则.currentTime应该有效。如果您需要更多详细信息,该网页应该能够提供帮助。
答案 2 :(得分:12)
此处的工作示例:http://jsfiddle.net/tQ2CZ/1/
<强> HTML 强>
<div id="video_container">
<video poster="http://media.w3.org/2010/05/sintel/poster.png" preload="none" controls="" id="video" tabindex="0">
<source type="video/mp4" src="http://media.w3.org/2010/05/sintel/trailer.mp4" id="mp4"></source>
<source type="video/webm" src="http://media.w3.org/2010/05/sintel/trailer.webm" id="webm"></source>
<source type="video/ogg" src="http://media.w3.org/2010/05/sintel/trailer.ogv" id="ogv"></source>
<p>Your user agent does not support the HTML5 Video element.</p>
</video>
</div>
<div>Current Time : <span id="currentTime">0</span></div>
<div>Total time : <span id="totalTime">0</span></div>
<强> JS 强>
$(function(){
$('#currentTime').html($('#video_container').find('video').get(0).load());
$('#currentTime').html($('#video_container').find('video').get(0).play());
})
setInterval(function(){
$('#currentTime').html($('#video_container').find('video').get(0).currentTime);
$('#totalTime').html($('#video_container').find('video').get(0).duration);
},500)
答案 3 :(得分:2)
我假设您想将其显示为播放器的一部分。
该网站分解了如何获取当前时间和总时间,无论您希望如何使用jQuery显示它:
http://dev.opera.com/articles/view/custom-html5-video-player-with-css3-and-jquery/
这也将介绍如何将其设置为特定div。正如菲利普已经提到的那样,.currentTime将为您提供视频中的位置。
答案 4 :(得分:1)
https://www.w3schools.com/tags/av_event_timeupdate.asp
// Get the <video> element with id="myVideo"
var vid = document.getElementById("myVideo");
// Assign an ontimeupdate event to the <video> element, and execute a function if the current playback position has changed
vid.ontimeupdate = function() {myFunction()};
function myFunction() {
// Display the current position of the video in a <p> element with id="demo"
document.getElementById("demo").innerHTML = vid.currentTime;
}