2015-05-03 2 views
0

Если я запускаю элемент HTML5 с помощью кнопки, чтобы заставить его играть, у меня есть проблема, что, когда я снова нажимаю кнопку, образец больше не будет воспроизводиться (поскольку это уже играет).Создайте несколько элементов <audio>, чтобы предотвратить обрез

Если я использую: n.pause() n.currentTime = 0 n.play()

будет вырезать из них тоже не очень приятно.

Есть ли простой способ (я как бы начинающий) создать новый аудио-элемент и уничтожить его после его окончания, или даже еще одну возможность, которую я не могу придумать?

+0

Оставьте свой полный код. –

ответ

0

Я бы предложил удалить любые существующие аудио-элементы из вашего HTML, чтобы вы могли просто использовать Javascript.

Eachtime пользователь нажимает кнопку вашей

<button onclick="playSound();">click me</button> 

новый экземпляр объекта Audio создается.

function playSound() { 
    var n = new Audio("example.mp3"); 
    n.play(); 
} 
+0

Ничего себе, это было легко! Я не знал, что для этого вам нужны только две строки кода! Работа очень приятная! Благодаря! Нужно ли вручную уничтожить экземпляры вручную? – olop01

0

Вы можете отключить кнопку воспроизведения при воспроизведении звука. Вы также можете указать кнопку паузы или остановки.

Я не думаю, что вы должны создать новый аудио-элемент.

+0

Это всего лишь небольшой звук, который появляется в течение нескольких секунд, но в случае, когда пользователь дважды запускает звук, я хотел бы снова воспроизводить мелодию без прерывания, которое происходит с паузой() и currentTime. Возможно, я объяснил свою проблему немного грубо, но решение newiewpoint уже отлично работало для меня. Спасибо за ваш ответ :) – olop01