我一兩天,現在環顧四周,在這個論壇上,但無法找到任何東西,我的準確情況的作品。我知道一些JavaScript/jQuery的,但我不會把自己擅長這種語言...停止所有聲音,但選擇了一個(動態創建的音頻元素)
我有一個的MP3文件,從數據庫中獲取動態列表,我不希望它能夠播放多種歌曲在同一時間。問題是,我不知道如何編寫代碼「停止除按下時連接到此播放按鈕上的所有其他歌曲」的代碼。如此令人沮喪..
我的PHP文件:
$result = mysqli_query($link, "SELECT * FROM songs");
$count = 0;
while($row = mysqli_fetch_array($result)) {
$title = $row['title'];
$filename = $row['filename'];
echo '<li data-filename="' . $filename . '" class="song">
<button class="play' . $count . '">Play</button>
<button class="stop' . $count . '">Stop</button>'
. $title .
'</li>';
$count++;
}
這是我的js文件:
var count = 0;
$('.song').each(function() {
var filename = 'songs/' + $(this).data('filename');
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', filename);
$('.play' + count).click(function(){
audioElement.play();
// I need to put something here to make all the other songs pause/reset //
});
$('.stop' + count).click(function(){
audioElement.pause();
audioElement.currentTime = 0;
});
count++;
});
因爲我真的不知道該怎麼辦,我只是嘗試了一堆例如:
$(this).siblings().audioElement.pause();
audioElement.siblings().pause();
然後,我讀了一些關於在播放連接到播放b之前停止所有音頻的內容utton。但我不知道如何「收集」所有這些,以便我可以一次性停止(暫停和重置)。
我想這一個,但呼籲HTML5標記,以便它不工作。
function stopAll() {
var xGroup = document.querySelectorAll('audio');
for (var i = 0; i < xGroup.length; i++) {
xGroup[i].pause();
xGroup[i].currentTime = 0;
}
}
嗯,我刪除了所有我的代碼,並開始使用'
@Pixeldoris歡迎您:)如果您覺得它回答了問題,您可以將其標記爲答案(或者您可以發佈解決方案),以便其他人可以利用此問題。謝謝! – acontell