Я использую
<button id="collect" class="btn">button</button>
<script type="text/javascript">
$('#collect').click(function(event) {
event.preventDefault();
<?php if($soundFx == true){ ?>
var sound = document.getElementById("collect_a");
sound.play();
<?php } ?>
... //script continues
</script>
для запуска некоторого JavaScript, который содержит очень простой звук (который вызывается только при нажатии кнопки / отправке формы)
var sound = document.getElementById("collect_a");
sound.play();
который нацелен на
<audio id="collect_a" src="audio/collect.wav" autoplay="false" autostart="false" preload ="none" ></audio>
Все работает нормально, звук воспроизводится при нажатии и никаких других проблем с этим нет.
Однако при загрузке / обновлении страницы звук воспроизводится, он воспроизводит все аудио сразу, а затем останавливается и ведет себя, как и ожидалось. Я прочитал, что теги
autoplay="false" autostart="false" preload ="none"
все должны помочь, но никто из них не решит мою проблему, так что мне интересно, что я делаю неправильно. Объект только что помещен на html-страницу, поэтому он запускается автоматически независимо от того, вызывается он или нет? наверняка эти теги помешают этому?
Я пробовал отдельный файл .js для вызова функции play (), а также мой (текущий) способ использовать ее как часть моего существующего кода, они оба работают, но также оба воспроизводят все под нагрузкой.
Любая помощь приветствуется.