2013-03-10 93 views
1

我试图做一个简单的页面,它有一个基本的html5音频播放器,但我希望播放器是来自特定文件夹的随机音频文件。随机音频文件生成的html5音频

我试图寻找和研究,但我想出了一个剧本,但它会产生一个空白页

例子:

<audio> 
<?php 

$dir = 'files/'; 
$scan = scandir($dir); 

for ($i = 0; $i<count($scan); $i++) { 

    if ($scan[$i] != '.' && $scan[$i] != '..') { 
     echo $scan[$i]; 
    } 
}; 
?> 
</audio> 

我知道的音频控制,但我不担心关于这一点。

此外,如果我得到这个解决方案,我也试图让php和html5音频生成随机音频文件的id3。

+0

你的问题是什么?问题是你没有得到随机性,或者音频不工作? – Jonast92 2013-03-10 03:26:57

回答

1

您正在错误地使用音频标签。你需要像这样:

<audio src="<?php #php code to echo file here ?>"></audio> 

你把文件的URL放在src属性中,而不是标签的内容。只有某些类型的文件适用于不同的浏览器。 OGG文件格式适用于大多数浏览器,但有些需要mp3。确保您具有正确的文件格式,以便其正常工作。

+0

就在我面前:P – Jonast92 2013-03-10 03:27:21

+0

讨厌这个时候发生:) – Markasoftware 2013-03-10 03:27:52

+1

另外:很好定义数据的类型; type =“audio/mpeg”等。 – Jonast92 2013-03-10 03:27:55

1

我这个尝试我和它的工作原理:(修订版)

$dir = '../sound/'; // Change this so IT's true for your case. 
$scan = scandir($dir); 
$size = sizeof($scan); 
$random = rand(1, $size); 
$randomFile = $scan[$random]; 
$fileLocation = $dir. $randomFile; 

现在你可以得到文件的扩展名:

$explode = explode(".", $randomFile); 
$extension = $explode[1]; 

全部工作代码:

<audio controls> 
    <source src="<?php echo $fileLocation; ?>" type="audio/<?php echo $extension; ?>"> 
</audio> 
+0

它如何知道要查找什么目录或是否需要与此类音频文件处于同一个可怕目录? – user1925845 2013-03-10 03:38:56

+0

你只是预先定义了你的文件所在的目录,它可以任意你想要的,或者你可以有一个文件夹的数组,你可以从他们随机生成,就像我随机选择文件。这不是你想要的吗? – Jonast92 2013-03-10 03:40:35

+0

接受答案,并提高它,如果它是你在找什么。 – Jonast92 2013-03-10 03:49:43