2013-03-10 119 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