我想运行文件夹中的所有视频,自动播放并不断重复。
我找到了一些 javascript 代码,它工作得很好,但它必须包含在 javascript 代码列表中,有没有办法更改此编码以读取文件夹中的所有视频。
这是javascript代码:
<div class="main">
<video src="video\\video1.mp4" id="myvideo" width="100%" height="100%" controls autoplay poster="gambar\logo.png">
</video>
<script>
var myvid = document.getElementById('myvideo');
var myvids = [
"video\\video1.mp4",
"video\\video2.mp4",
"video\\video3.mp4"
];
var activeVideo = 0;
myvid.addEventListener('ended', function(e) {
// update the new active video index
activeVideo = (++activeVideo) % myvids.length;
// update the video source and play
myvid.src = myvids[activeVideo];
myvid.play();
});
</script>
</div>
如果确实有另一种方式我也会接受,也许使用数据库读取文件或其他编码。请帮忙。
最佳答案
假设您正在使用 PHP,
<?php
$directory='videos'; // Add your Directory here
$path = './'.$directory.'/';
$allFiles = scandir($path,1);
$files = array_diff($allFiles, array('.', '..'));
print_r($files)
?>
<div class="main">
<video src="<?php echo 'videos/'.$files[0];?>" id="myvideo" width="100%" height="100%" controls autoplay poster="gambar\logo.png">
</video>
<script type='text/javascript'>
var directory = '<?php echo $directory;?>';
var myvids = <?php echo json_encode($files); ?>;
index=0;
document.getElementById('myvideo').addEventListener('ended',myHandler,false);
function myHandler(e) {
index++;
// For Repeating all video files
if(index>=myvids.length)
index=0;
var vid = document.getElementById("myvideo");
vid.src = directory+'/'+myvids[index];
}
</script>
</div>
希望对您有所帮助! .
关于javascript - HTML 自动播放视频并从文件夹继续循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022857/