Javascript 如何使用java脚本仅播放当前时间大于开始时间的视频?

Javascript 如何使用java脚本仅播放当前时间大于开始时间的视频?,javascript,Javascript,无法检索和播放视频 <video id="media-video" width="600" height="300" src="http://localhost/CastingGallery/upload/2/php.mp4"> <source class="" src="http://localhost/CastingGallery/upload/2/marimatrubhasha.mp4" id="videosource" type="video/mp4"

无法检索和播放视频

<video id="media-video" width="600" height="300" src="http://localhost/CastingGallery/upload/2/php.mp4">        
<source class="" src="http://localhost/CastingGallery/upload/2/marimatrubhasha.mp4" id="videosource" type="video/mp4" startat="00:00:00" endat="00:04:07" name="Gujarati Bhasha" description="This is Gujarati Video">                  
<source class="active" src="http://localhost/CastingGallery/upload/2/php.mp4" id="videosource" type="video/mp4" startat="00:04:07" endat="00:19:06" name="PHP Video" description="This is PHP Video">
</video>

我只想获取当前时间大于该视频开始时间的视频

<script>
$(document).ready(function(){
    var mediaPlayer = document.getElementById('media-video');
    var videoSource = mediaPlayer.getElementsByTagName('source');   
    var d=new Date();
    var hh=d.getHours();
    var mm=d.getMinutes();
    var ss=d.getSeconds();
    var currentTime=hh+':'+mm+':'+ss
    console.log('current time is '+currentTime);
    var a=currentTime.split(':');       
    var getStartTime=document.getElementById('videosource').getAttribute('startat');        
    if(currentTime >= getStartTime)
    {   
        var a=currentTime.split(':');
        var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);           
        mediaPlayer.currentTime=seconds;        
        mediaPlayer.play();
    }       
    }); 
   </script>

$(文档).ready(函数(){
var mediaPlayer=document.getElementById('media-video');
var videoSource=mediaPlayer.getElementsByTagName('source');
var d=新日期();
var hh=d.getHours();
var mm=d.getMinutes();
var ss=d.getSeconds();
var currentTime=hh+':'+mm+':'+ss
console.log('当前时间为'+currentTime');
var a=currentTime.split(“:”);
var getStartTime=document.getElementById('videosource').getAttribute('startat');
如果(currentTime>=getStartTime)
{   
var a=currentTime.split(“:”);
变量秒=(+a[0])*60*60+(+a[1])*60+(+a[2]);
mediaPlayer.currentTime=秒;
mediaPlayer.play();
}       
}); 
您需要遍历所有
source
元素,并比较
startat
属性

还要注意的是,您不应该有多个
id
属性具有相同的

试试这个:

$(文档).ready(函数(){
var mediaPlayer=document.getElementById('media-video');
var videoSource=mediaPlayer.getElementsByTagName('source');
var d=新日期();
var hh=d.getHours();
var mm=d.getMinutes();
var ss=d.getSeconds();
var currentTime=hh+':'+mm+':'+ss;
var a=currentTime.split(“:”);

var getStartTime=document.getElementById('videosource').getAttribute('startat'); Array.prototype.forEach.call(视频源,函数(elem)){ var getStartTime=elem.getAttribute('startat'); 如果(currentTime>=getStartTime){ 警报(elem.getAttribute('name')); var a=currentTime.split(“:”); 变量秒=(+a[0])*60*60+(+a[1])*60+(+a[2]); mediaPlayer.currentTime=秒; mediaPlayer.play(); } }); });


什么不起作用?无法获取当前时间大于该视频开始时间的视频?我必须检索当前时间大于开始时间的视频列表。我可以遍历所有开始时间元素并与当前时间进行比较。并获取当前时间大于开始时间的视频?请帮助我。感谢您的帮助,但是现在检索所有的视频。所有的开始时间元素是什么意思?var getStartTime=document.getElementById('videosource')。getAttribute('startat');Array.prototype.forEach.call(getStartTime,function(elem){//var getStartTime=elem.getAttribute('startat');if(currentTime>=getStartTime){//alert(elem.getAttribute('name');var a=currentTime.split(':');var seconds=(+a[0])*60*60+(+a[1])*60+(+a[2]));mediaPlayer.currentTime=秒;mediaPlayer.play();});开始时间是视频源标记中的startat属性。