2015-09-16 2 views
0

Попытка узнать некоторые простые вещи JS со звуком, так как я много работаю с аудио. Я решил, что я научусь внедрять некоторые из них в мой сайт, не говоря уже о том, чтобы просто наброситься на некоторые простые веб-программирование.Do Action После audio.ended

Я хотел иметь действие после того, как звуковой файл закончил играть, хотя некоторое время (1) проверка петли audio.ended немедленно сбой.

Я решил использовать setInterval для проверки каждую секунду, однако это, похоже, не работает. Никакой аварии, но ничего не происходит. Я просмотрел документацию Mozilla, и, насколько я вижу, с моим ограниченным опытом нет очевидного решения.

var audio = document.createElement('audio'); 
audio.id = 'audio'; 
audio.src = 'track01.mp3'; 
audio.play(); 
setInterval(checkFinished(), 1000); 

function checkFinished() 
{ 
    if(audio.ended == false) 
    { 
     document.write(audio.ended.toString()); 
    } 
    else 
    { 
     document.write(audio.ended.toString()); 
     foo(); 
    } 
} 

ответ

1

Вместо этого вы должны использовать Событие.

var audio = document.createElement('audio'); audio.id = 'audio'; 
audio.src = 'track01.mp3'; 
document.body.appendChild(audio); // append somewhere else if wanted 
audio.play(); 
audio.onended = function(){ 
    console.log('You do say.'); 
} 
1

Как сказано в PHPglue, вы можете использовать .onended.

вот пример:

<audio id="myAudio" controls> 
    <source src="track01.mp3" type="audio/mpeg"> 
</audio> 

<script> 
var aud = document.getElementById("myAudio"); 
aud.onended = function() { 
    alert("The audio has ceased"); 
}; 
</script> 

(я не люблю бесполезные JS, но часть сценария по-прежнему применяется из вас просто использовать JS для аудио)

Заканчивать http://www.w3schools.com/tags/av_event_ended.asp некоторую информацию

+0

Нет. Я не видел, чтобы это было принято. Кто-то может хотя бы использовать ссылку для справки. – theThirdZA

+1

Я думал, что нужно попытаться дать как можно больше информации по вопросу? Я показал способ использовать звуковые теги для воспроизведения аудио, вместо того, чтобы полагаться на javascript и дал ссылку на веб-сайт для дальнейшего объяснения. – theThirdZA

+0

Спасибо в любом случае. Раньше я не был знаком с системой событий js. – lloyd

Смежные вопросы