2013-08-25 3 views
-2

У меня есть звуковой файл в моем html-файле. Я хотел бы прекратить играть его через 30 секунд, используя javascript, ниже - код для воспроизведенияКак остановить звук с помощью javascript

var snd = new Audio("sound location"); 
snd.play(); 

Любая помощь?

+1

взглянуть на https://developer.mozilla.org/en-US/docs/Web/ API/window.setTimeout и использовать функцию snd.pause –

ответ

2

Вы можете сделать:

setTimeout(function() { 
    snd.pause(); 
}, 30000); 
+0

Или просто просто 'setTimeout (snd.pause, 30000)'? –

+0

Нет, @Derek 朕 會 功夫 это будет ** нет ** работа. И я думаю, что ответ достаточно прост. – iConnor

+0

@ Pinocchio - Почему бы и нет? –

0
window.setTimeout(snd.pause.bind(snd), 30000); 
+2

'snd.pause' будет вызываться с' window' как 'this', если передано это путь. Может быть, 'snd.pause.bind (snd) будет работать'. –

+0

благодарим вас за комментарий –

+0

@mikeSamuel прав, но это имеет смысл сделать это. – iConnor

0

HTML5, аудио элемент имеет несколько методов, которые вы должны знать.

audioElement.pause(); // Will pause the audio 

audioElement.play(); // Will play the audio 

audioElement.volume = 0.5; // Will set the volume to half of max 

audioElement.load(); // Will start to load the media 

audioElement.currentTime = 0; // Will set the time of the audio to 0 

И если вы не остановите звук там, вы можете сделать что-то вроде этого.

audioElement.pause(); 
audioElement.currentTime = 0; 

Так, чтобы ответить на ваш вопрос, вы можете использовать setTimeout и остановка путь

window.setTimeout(function(){ 
    audioElement.pause(); 
    audioElement.currentTime = 0; 
}, 30 * 1000);