HTMLAudioElement : constructeur Audio()
Baseline
Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
Le constructeur Audio() crée et retourne un nouvel objet HTMLAudioElement qui peut être soit attaché à un document pour que l'utilisateur·ice puisse interagir avec et/ou écouter, soit utilisé hors écran pour gérer et lire de l'audio.
Syntaxe
new Audio()
new Audio(url)
Paramètres
urlFacultatif-
Une chaîne de caractères optionnelle contenant l'URL d'un fichier audio à associer au nouvel élément audio.
Valeur de retour
Un nouvel objet HTMLAudioElement, configuré pour lire l'audio du fichier spécifié par url. La propriété preload du nouvel objet est définie à auto et sa propriété src est définie à l'URL spécifiée ou à null si aucune URL n'est fournie. Si une URL est spécifiée, le navigateur commence à charger la ressource média asynchrone avant de retourner le nouvel objet.
Notes d'utilisation
Vous pouvez également utiliser d'autres méthodes de création d'éléments, comme la méthode createElement() de l'objet document, pour construire un nouvel objet HTMLAudioElement.
Déterminer quand la lecture peut commencer
Il existe trois façons de savoir quand suffisamment de données audio ont été chargées pour permettre la lecture :
- Vérifier la valeur de la propriété
readyState. Si elle vautHTMLMediaElement.HAVE_FUTURE_DATA, il y a suffisamment de données pour commencer la lecture et lire au moins un court instant. Si elle vautHTMLMediaElement.HAVE_ENOUGH_DATA, il y a assez de données pour que, compte tenu du débit actuel, la lecture puisse se faire jusqu'à la fin sans interruption. - Écouter l'événement
canplay. Il est envoyé à l'élément<audio>lorsqu'il y a assez d'audio pour commencer la lecture, même si des interruptions peuvent survenir. - Écouter l'événement
canplaythrough. Il est envoyé lorsqu'il est estimé que l'audio pourra être lu jusqu'à la fin sans interruption.
L'approche basée sur les événements est la meilleure :
myAudioElement.addEventListener("canplaythrough", (event) => {
/* l'audio est maintenant lisible ; le lire si les permissions le permettent */
myAudioElement.play();
});
Utilisation et gestion de la mémoire
Si toutes les références à un élément audio créé avec le constructeur Audio() sont supprimées, l'élément ne sera pas retiré de la mémoire par le mécanisme de ramasse-miettes de JavaScript si une lecture est en cours. L'audio continuera à jouer et l'objet restera en mémoire jusqu'à la fin de la lecture. À ce moment-là, l'objet pourra être collecté par le ramasse-miettes.
Spécifications
| Specification |
|---|
| HTML> # dom-audio-dev> |
Compatibilité des navigateurs
Voir aussi
- Technologies des médias web
- L'élément HTML implémentant cette interface :
<audio>.