Spec-Zone.ru › Web APIs

HTMLAudioElement: Конструктор Audio()

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Конструктор Audio() создаёт и возвращает новый элемент HTMLAudioElement, который может быть прикреплён к документу для взаимодействия пользователя и/или прослушивания, или может использоваться вне экрана для управления и воспроизведения аудио.

Синтаксис

new Audio()
new Audio(url)

Параметры

url Необязательный

Необязательная строка, содержащая URL аудиофайла, который будет связан с новым элементом аудио.

Возвращаемое значение

Новый объект HTMLAudioElement, настроенный для воспроизведения аудио из файла, указанного в url. Свойство preload нового объекта устанавливается в значение auto, а свойство src устанавливается в указанный URL или null, если URL не указан. Если URL указан, браузер начинает асинхронную загрузку медиаресурса до возвращения нового объекта.

Примечания по использованию

Вы также можете использовать другие методы создания элементов, такие как метод document объекта createElement(), для создания нового HTMLAudioElement.

Определение, когда можно начать воспроизведение

Существует три способа определить, когда загрузилась достаточно аудио, чтобы начать воспроизведение:

  • Проверьте значение свойства readyState. Если оно равно HTMLMediaElement.HAVE_FUTURE_DATA, то доступно достаточно данных для начала воспроизведения, и воспроизведение будет происходить по крайней мере в течение короткого времени. Если оно равно HTMLMediaElement.HAVE_ENOUGH_DATA, то доступно достаточно данных, чтобы, учитывая текущую скорость загрузки, вы могли воспроизвести аудио до конца без прерываний.
  • Прислушайтесь к событию canplay. Оно отправляется элементу <audio> при наличии достаточного аудио для начала воспроизведения, хотя возможны прерывания.
  • Прислушайтесь к событию canplaythrough. Оно отправляется, когда ожидается, что аудио воспроизведётся до конца без прерываний.

Наилучшим подходом является использование событий:

myAudioElement.addEventListener("canplaythrough", (event) => {
  /* the audio is now playable; play it if permissions allow */
  myAudioElement.play();
});

Использование и управление памятью

Если все ссылки на элемент аудио, созданный с помощью конструктора Audio(), будут удалены, сам элемент не будет удалён из памяти механизмом сборки мусора JavaScript-движка, если воспроизведение в данный момент происходит. Вместо этого аудио будет продолжаться воспроизведение, а объект останется в памяти до завершения воспроизведения. В этот момент объект становится доступным для сборки мусора.

Спецификации

Спецификация
HTML
# dom-audio-dev

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
Audio 4 12 3.5 ≤12.1 3.1 18 4 ≤12.1 3 1.0 ≤37

См. также

  • Веб-медиа технологии
  • Элемент HTML, реализующий этот интерфейс: <audio>.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement/Audio

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API