HTMLAudioElement: Audio() Konstruktor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Der Audio()
-Konstruktor erstellt und gibt ein neues HTMLAudioElement
zurück, das entweder einem Dokument hinzugefügt werden kann, damit der Benutzer interagieren und/oder es anhören kann, oder es kann im Hintergrund verwendet werden, um Audio zu verwalten und abzuspielen.
Syntax
new Audio()
new Audio(url)
Parameter
url
Optional-
Ein optionaler String, der die URL einer Audiodatei enthält, die mit dem neuen Audio-Element verknüpft werden soll.
Rückgabewert
Ein neues HTMLAudioElement
Objekt, das so konfiguriert ist, dass es für die Wiedergabe der Audiodatei, die durch url
angegeben wird, verwendet werden kann. Die neue Objekt-Eigenschaft preload
ist auf auto
gesetzt und die src
Eigenschaft ist auf die angegebene URL oder auf null
gesetzt, wenn keine URL angegeben wurde. Wenn eine URL angegeben ist, beginnt der Browser, die Medienressource asynchron zu laden, bevor das neue Objekt zurückgegeben wird.
Verwendungshinweise
Es können auch andere Methoden zur Elementerstellung verwendet werden, wie die Methode createElement()
des document
-Objekts, um ein neues HTMLAudioElement
zu erstellen.
Bestimmen, wann die Wiedergabe beginnen kann
Es gibt drei Möglichkeiten, um festzustellen, wann genug der Audiodatei geladen ist, um die Wiedergabe zu ermöglichen:
- Überprüfen Sie den Wert der
readyState
-Eigenschaft. Wenn esHTMLMediaElement.HAVE_FUTURE_DATA
ist, sind genügend Daten verfügbar, um die Wiedergabe zu beginnen und zumindest für kurze Zeit abzuspielen. Wenn esHTMLMediaElement.HAVE_ENOUGH_DATA
ist, sind genügend Daten vorhanden, sodass Sie bei der aktuellen Downloadrate die Audiodatei ohne Unterbrechung bis zum Ende abspielen können. - Lauschen Sie auf das
canplay
-Ereignis. Es wird an das<audio>
-Element gesendet, wenn genügend Audio verfügbar ist, um die Wiedergabe zu beginnen, obwohl Unterbrechungen auftreten können. - Lauschen Sie auf das
canplaythrough
-Ereignis. Es wird gesendet, wenn geschätzt wird, dass das Audio bis zum Ende ohne Unterbrechung abgespielt werden kann.
Der ereignisbasierte Ansatz ist der beste:
myAudioElement.addEventListener("canplaythrough", (event) => {
/* the audio is now playable; play it if permissions allow */
myAudioElement.play();
});
Speicherverbrauch und Verwaltung
Wenn alle Verweise auf ein mit dem Audio()
-Konstruktor erstelltes Audioelement gelöscht werden, wird das Element nicht vom Speichermanagement des JavaScript-Laufzeitsystems entfernt, wenn die Wiedergabe gerade läuft. Stattdessen spielt das Audio weiter und das Objekt bleibt im Speicher bis die Wiedergabe endet. Zu diesem Zeitpunkt wird das Objekt für die Speicherbereinigung zugänglich.
Spezifikationen
Specification |
---|
HTML Standard # dom-audio-dev |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Web-Medientechnologien
- HTML-Element, das diese Schnittstelle implementiert:
<audio>
.