我可以使用名稱/藝術家/專輯/流派或其他名稱搜索歌曲,以及符合該條件的歌曲,因此符合特定流派的歌曲都會出現。但是只有出現的第一首可以播放,如果我點擊播放任何其他歌曲,第一首播放。

我有一個檔案夾中的 mp3 檔案和資料庫中的其余資訊。
我有它,所以我可以使用藝術家和歌曲名稱查找應該以 mp3 檔案的名稱播放的音頻。
html/php:
for($i=0; $i<$count; $i ){
$res = mysqli_fetch_array($result);
echo('<tbody id="tbody">
<tr>
<audio id="audio" src="mp3/'.$res["song_artist"].'-'.$res["song_title"].'.mp3">
<td><button id="playbtn" onclick="playStop()">?</button></td>
<td><img class="songimg" src="getimage.php?id='.$res["song_id"].'"/> </td>
<td>'.$res["song_title"].'</td>
<td>'.$res["song_artist"].'</td>
<td>'.$res["song_genre"].'</td>
<td>'.$res["song_album_name"].'</td>
<td id="length"></td>
<script>window.onload = function() {displaylenght()}</script>
</tr>
</tbody>');
}
腳本:
function playStop() {
if (!audio) {
document.getElementById('playControl').style.visibility = 'visible';
var audio = document.getElementById("audio");
var progressed = document.getElementById("progressed");
}
if (audio.paused) {
console.log(audio.duration);
audio.play();
audio.ontimeupdate = function(e) {
progressed.style.width = (Math.floor((audio.currentTime*100) / getDuration()) "%");
}
audio.volume = 0.05;
document.getElementById('playbtn').innerHTML = "??";
document.getElementById('playbtns').innerHTML = "??";
} else {
document.getElementById('playbtn').innerHTML = "?";
document.getElementById('playbtns').innerHTML = "?";
audio.pause();
audio.currentTime = 0;
}
}
有任何想法嗎?
蒂亞
uj5u.com熱心網友回復:
您必須為您的標簽提供唯一識別符號,例如:
<audio id="audio{{ $i }}" src="mp3/'.$res["song_artist"].'-'.$res["song_title"].'.mp3">
您可以將要播放的標簽的索引傳遞給 playStop 函式:
onclick="playStop({ $i })
您的函式 playStop 現在將一個數字作為引數:
function playStop(i) {
因此,在函式內部,您可以參考單個標簽:
var audio = document.getElementById("audio" i);
我的 php 超級生銹,所以語法可能有點不對勁,但原則上它應該可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/425427.html
標籤:javascript php html 声音的
