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属性。