首页 > 解决方案 > 文件夹中随机播放的视频播放列表

问题描述

在我开始之前,英语不是我的第一语言,对于任何语法和拼写错误,我深表歉意。

另外,这可能以前被问过。但经过几天的搜索,我无法找到它。


我正在尝试在我的网站上制作视频播放列表

目前,它从一个文件夹中抓取大量文件,并将第一个文件作为视频源。然后在视频下方,它会在列表项中回显所有文件名并为其提供编号。


我目前拥有的屏幕截图



那么需要做什么呢?

如果我加载或刷新页面,我希望列表随机排列。

当一个视频结束时,下一个视频以随机顺序开始播放。

我希望能够从列表中的任何位置选择一首歌曲。

如果列表中的最后一首歌曲结束,则从第一首歌曲重新开始。

既然我完全被卡住了,我该怎么做

“我对js没有经验,所以没试过。”

我目前拥有的代码:

<?php 
$files = glob('./vid/*.mp4'); // get all .mp4 files from folder
$fname = $files[0]; // get 1st filename 
$ftext = ucwords(str_replace('_', ' ', basename($fname, '.mp4'))); // format text for display
?>

<video id="video" class="box" poster="poster.jpg" preload="metadata" controls>
    <source src="<?php echo $fname; ?>"/>
</video>

<div id="infobox" class="box">Video: '<b><?php echo $ftext; ?></b>'</div>

<ul id="playlist" class="box">
<?php 
$i = 1; // start track numbering from 1
foreach ($files as $file) { 
    $vid = ucwords(str_replace('_', ' ', basename($file, '.mp4'))); // format text for display
    echo "<li><a href='#' data-video-src='$file'><b>$vid</b> <span>[$i / ".count($files)."]</span></a></li>\n"; 
    $i++; // increment track number count 
    } 
?> 
</ul>

标签: phphtmlvideo

解决方案


欢迎来到堆栈溢出!

你在问“需要做什么?” 我简短的回答是“使用 java 脚本”。由于 php 是一种服务器端语言,因此它的动态能力是湖 - 与 java 脚本相比。

请允许我演示如何做到这一点,以及该网站如何提供帮助:

  1. 对于:“如果我加载或刷新页面,我希望列表打乱它的顺序。” 和“当视频结束时,下一个视频以随机顺序开始播放”和“如果列表中的最后一首歌曲结束,则从第一首歌曲重新开始” - 您将使用数组来保存所有文件,您可以找到一些线索如何在这里这里这里,还有这里
  2. 对于:“我希望能够从列表中的任何位置选择一首歌曲。” – 您可以使用addEventListener

你会在这里找到更多的线索。

如果您在路上遇到困难 - 阅读本文后提出一个新问题。

最重要的是:不要卡住并继续练习。

享受代码!


推荐阅读