2017-06-14 266 views
0

我創建了一個數據庫,其中包含一個包含數千曲目信息的表格。 其中一個信息是我單擊「播放」時要播放的曲目的目錄。播放列表中的曲目

while($row = mysqli_fetch_array($sqldata)) 
    { 
    echo "<tbody><tr><td>"; 
    echo $row['position']; 
    $path = "audio/"; 
    $track = $path . $row["path"] . ".mp3"; 
    echo "</td><td>"; 
    echo '<input type="image" src="images/play.png" width="20px" height="20px" onclick="play();">'; 
    echo "<audio id='audio' src=$track></audio>"; 
    echo '<input type="image" src="images/pause.png" width="20px" height="20px" onclick="pause()">'; 
    echo '<audio id="audio" src=""></audio>'; 
    echo "</td><td>"; 
etc.. 

問題是,當我點擊所有不同音軌中的「播放」時,它只播放「音頻」文件夾的第一首曲目。 根據行播放不同曲目的正確方法是什麼?

謝謝

+0

查看頁面源代碼,看看您實際發送給瀏覽器的內容 – RiggsFolly

+0

您有多個具有相同ID的音頻元素 - 這對於開始來說是不正確的。 – Shadow

+0

我看到我的瀏覽器的源代碼和音頻src是不同的 –

回答

0

已解決。 這是解決方案: 刪除多個音頻標籤並僅將一個音頻標籤設置在表外。 將列中的路徑作爲參數發送到JavaScript播放函數,然後編輯audio.src,然後audio.load,然後編輯audio.play。

echo '<input type="image" src="images/play.png" width="20px" height="20px" onclick="play(\''.$track.'\');">'; 

重要提示:引號和反斜槓對發送字符串很重要。

謝謝。

相關問題