Могу ли я вызвать функцию, когда аудио объект начинает играть? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть объект <audio>, который может потребоваться загрузить, прежде чем он сможет воспроизводиться. Есть ли способ вызвать функцию, когда звук начинается после загрузки или когда пользователь нажимает кнопку воспроизведения?

Ответы [ 4 ]

0 голосов
/ 07 марта 2019

Вы можете просто добавить evenListner следующим образом:

<audio|video onplay="myScript">

например. Вы можете сделать так:

var aud = document.getElementById("myAudio");
aud.onplay = function() {
    alert("The audio has started to play");
};
0 голосов
/ 07 марта 2019

с аудиообъектом javascript вы можете добавить слушателя событий, например:

var horn = new Audio('car_horn.wav');
horn.addEventListener('loadeddata', () => {
  let duration = horn.duration;
  // The duration variable now holds the duration (in seconds) of the audio clip 
})

как вы видите здесь: https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement

0 голосов
/ 07 марта 2019

Есть событие playing, которое вы можете слушать так же.

audio.addEventListener("playing", function() {
    console.log("playing");
});

http://w3c.github.io/html/semantics-embedded-content.html#eventdef-media-playing

0 голосов
/ 07 марта 2019

Да, есть событие onplay для аудио и видео, для этого нужно использовать тег <audio>

var audio = document.getElementById("Your_audio");
audio.onplay = function() {
  //your code
};
...