php - 文件夹中随机播放的视频播放列表
问题描述
在我开始之前,英语不是我的第一语言,对于任何语法和拼写错误,我深表歉意。
另外,这可能以前被问过。但经过几天的搜索,我无法找到它。
我正在尝试在我的网站上制作视频播放列表
目前,它从一个文件夹中抓取大量文件,并将第一个文件作为视频源。然后在视频下方,它会在列表项中回显所有文件名并为其提供编号。
那么需要做什么呢?
如果我加载或刷新页面,我希望列表随机排列。
当一个视频结束时,下一个视频以随机顺序开始播放。
我希望能够从列表中的任何位置选择一首歌曲。
如果列表中的最后一首歌曲结束,则从第一首歌曲重新开始。
既然我完全被卡住了,我该怎么做
“我对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>
解决方案
欢迎来到堆栈溢出!
你在问“需要做什么?” 我简短的回答是“使用 java 脚本”。由于 php 是一种服务器端语言,因此它的动态能力是湖 - 与 java 脚本相比。
请允许我演示如何做到这一点,以及该网站如何提供帮助:
- 对于:“如果我加载或刷新页面,我希望列表打乱它的顺序。” 和“当视频结束时,下一个视频以随机顺序开始播放”和“如果列表中的最后一首歌曲结束,则从第一首歌曲重新开始” - 您将使用数组来保存所有文件,您可以找到一些线索如何在这里,这里,这里,还有这里。
- 对于:“我希望能够从列表中的任何位置选择一首歌曲。” – 您可以使用addEventListener
你会在这里找到更多的线索。
如果您在路上遇到困难 - 阅读本文后提出一个新问题。
最重要的是:不要卡住并继续练习。
享受代码!
推荐阅读
- python - 在python的for循环中合并数据帧
- javascript - 如何通过 Flask 重定向到 Vue-app 的特定页面
- opengl-es - 在 OpenGL ES 中,什么是“外部图像”?为什么我们需要 GL_OES_EGL_image_external?
- r - dplyr 按组计算分数
- javascript - 删除请求导致节点服务器冻结
- python - 服务器进程之间的 Django 状态共享
- java - 使用 rpc 连接时获取 hdfs namenode 的状态?
- java - Apache Storm 本地集群“无法规范化地址”
- java - r2dbc ReactiveCrudRepository 不断崩溃
- python - 捕获信号后如何终止 time.sleep()?