Evénements des Médias

Plusieurs événements sont envoyés lors de la gestion des médias inclus dans un documentHTML en utilisant les balises <audio> et <video> ; ce document les liste et fournit des informations sur leur utilisation.

Nom de l'événement Description
abort Envoyé lorsque la lecture est avortée ; par exemple, si le média est en cours de lecture et que cette lecture est recommencée depuis le début, cet événement est envoyé.
canplay Envoyé lorsqu'il y a assez de données disponibles pour que le média puisse être lu, sur au moins quelques trames. Cet événement correspond à la valeur HAVE_ENOUGH_DATA de la propriété readyState.
canplaythrough Envoyé quand l'état de disponibilité change pour CAN_PLAY_THROUGH, indiquant que le média peut être lu en entier sans interruption si la vitesse de téléchargement de celui-ci reste stable. Il sera également envoyé quand l'état de lecture bascule entre lecture et pause. Note: Changer manuellement la valeur currentTime peut éventuellement déclencher cet évenement dans firefox. Les autres navigateurs peuvent ne pas envoyer cet événement.
durationchange Les métadonnées sont chargées ou ont changées, indiquant un changement de la durée du média. Cet événement est envoyé lorsque, par exemple, assez de données ont été téléchargées pour connaitre cette durée.
emptied Les données du média ont été vidées ; par exemple, si le média a déjà été téléchargé, partiellement ou complètement, et que la méthode load() a été appellée pour le re-télécharger.
encrypted  L'agent utilisateur a trouvé des données d'initialisation d'acquisition de licence dans les données du média.
ended Envoyé quand la lecture du média est terminée.
error Envoyé quand une erreur intervient. L'attribut error de l'élément contient plus d'informations. Voir Error handling pour plus de détails.
interruptbegin Envoyé quand la lecture audio du média est interrompue sur un terminal Firefox OS, soit parce que l'application a été placée en arrière-plan, soit parce que la lecture d'un autre canal audio avec une priorité supérieure commence. Voir Using the AudioChannels API pour plus de détails.
interruptend Envoyé lorsque la lecture audio du média interrompue recommence sur un terminal Firefox OS — quand l'interruption se termine. Soit quand l'application revient au premier plan, soit quand la lecture d'un autre canal audio avec une priorité supérieure est terminée. Voir Using the AudioChannels API pour plus de détails.
loadeddata La première frame du media a fini de se télécharger.
loadedmetadata Les métadonnées du média ont fini de se télécharger ; tous les attributs ont désormais toutes les informations utiles qu'ils peuvent contenir.
loadstart Envoyé lorsque le téléchargement du média commence.
mozaudioavailable Envoyé lorsque qu'un tampon audio est fourni à la couche audio du lecteur pour traitement ; le tampon audio contient des échantilons sonores qui peuvent déjà être lus ou non au moment où l'évenement est reçu.
pause Envoyé quand la lecture du média est mise en pause.
play Envoyé quand la lecture du média commence après avoir été mise en pause ; c'est-à-dire quand elle reprend après un événement pause précédent.
playing Envoyé quand la lecture du média commence (soit pour la première fois, soit après avoir été mise en pause ou soit après avoir été terminée puis relancée).
progress Envoyé de manière périodique pour informer de la progression du téléchargement du média. L'information sur le volume de données actuellement téléchargées est disponible dans la propriété buffered de l'élément.
ratechange Envoyé lorsque la vitesse de lecture du média change.
seeked Envoyé lorsqu'une opération de déplacement dans le média est terminée.
seeking Envoyé lorsqu'une opération de déplacement dans le média commence.
stalled Envoyé lorsque l'agent utilisateur essaye de télécharger des données du média mais que celle-ci sont indisponibles.
suspend Envoyé lorsque le téléchargement du média est suspendu ; soit parce que ce téléchargement est fini, soit parce qu'il est mis en pause pour une autre raison.
timeupdate La position de la tête de lecture dans le média indiquée par l'attribut currentTime de l'élément a changée.
volumechange Envoyé lorsque le volume sonore du lecteur ou que l'attribut muted de l'élément changent.
waiting Envoyé lorsqu'une opération demandée (comme la lecture) est reportée en attendant la fin d'une autre opération (comme le déplacement du média).

Vous pouvez facilement écouter ces événements en utilisant du code ci-dessous :

var v = document.getElementsByTagName("video")[0];
v.addEventListener("seeked", function() { v.play(); }, true);
v.currentTime = 10.0;

Ce code récupère le premier élément vidéo dans le document et y attache un écouteur qui se déclenche quand l'évenement seeked est envoyé. Cet écouteur appèle la méthode play() de l'élément, qui démarre la lecture.

Ensuite, en ligne 3, l'exemple définit la propriété currentTime de l'élement à 10.0, ce qui provoque une opération de déplacement de la tête de lecture à 10 secondes dans le média. Cet opération déclenche l'envoi d'un évenement seeking quand elle commence, puis un évenement seeked quand elle se termine.

En d'autres termes, l'exemple lance le changement de la position de la tête de lecture à 10 secondes dans le média, et lance la lecture quand c'est fait.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support basique ? 3.5 (1.9.1) ? ? ?
encrypted 42.0

 

? ? ? ?
load ? Pas de support [1] ? ? ?
mozaudioavailable Pas de support 4.0 (2.0) Pas de support Pas de support Pas de support
suspend ? 3.6 (1.9.2) ? ? ?
Fonctionnalité Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Support basique ? ? ? ? ? ? ?
encrypted Pas de support 43.0 ? ? ? ? 42.0

 

load ? ? ? ? ? ? ?
mozaudioavailable Pas de support ? 4.0 (2.0) Pas de support Pas de support Pas de support ?
suspend ? ? ? ? ? ? ?

[1] Supprimé dans Gecko 1.9.2.

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Hell_Carlito, jucrouzet
 Dernière mise à jour par : Hell_Carlito,