--- title: Audio() slug: Web/API/HTMLAudioElement/Audio tags: - аудио translation_of: Web/API/HTMLAudioElement/Audio original_slug: Web/API/HTMLAudioElement/Audio() ---
{{APIRef("HTML DOM")}}
Конструктор Audio()
создаёт и возвращает новый {{domxref("HTMLAudioElement")}} объект, который может быть прикреплён к документу, чтобы пользователь мог взаимодействовать и/или слушать его, либо может использоваться вне экрана для управления и воспроизведения звука.
audioObj = new Audio(url);
url
{{optional_inline}}Новый {{domxref("HTMLAudioElement")}} объект, настроенный для воспроизведения файла, указанного в url
. Свойство {{domxref("HTMLMediaElement.preload", "preload")}} нового объекта имеет значение по умолчанию auto
, а его свойство src
— указанный URL-адрес или null
, если адрес не указан. Если указан URL-адрес, браузер начинает асинхронно загружать медиаресурс перед возвратом нового объекта.
Вы также можете использовать другие методы создания элементов, такие как метод {{domxref("Document.createElement", "createElement()")}} объекта {{domxref("document")}}, для создания нового {{domxref("HTMLAudioElement")}} объекта.
Существует три способа определить насколько аудио-файл загружен, чтобы начать воспроизведение:
HTMLMediaElement.HAVE_FUTURE_DATA
, значит загружено достаточно данных, чтобы начать воспроизведение и проиграть хотя бы короткое время. Если HTMLMediaElement.HAVE_ENOUGH_DATA
— доступно достаточно данных, чтобы воспроизводить аудио до конца без прерываний, учитывая текущую скорость загрузки.<audio>
, когда достаточно данных для воспроизведения (хотя возможны прерывания).Лучший подход, основанный на событии:
myAudioElement.addEventListener("canplaythrough", event => { /* аудио может быть воспроизведено; проиграть, если позволяют разрешения */ myAudioElement.play(); });
Если все ссылки на аудиоэлемент, созданные с помощью конструктора Audio()
удалены, сам элемент не будет удалён из памяти механизмом сборщика мусора JavaScript, если в данный момент идёт воспроизведение. Вместо этого продолжится воспроизведение и объект останется в памяти до тех пор, пока не закончится аудио или оно не будет приостановлено (например, путём вызова {{domxref("HTMLMediaElement.pause", "pause()")}}). В этот момент объект подлежит уничтожению сборщиком мусора.
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('HTML WHATWG', "#dom-audio", "Audio()")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.HTMLAudioElement.Audio")}}