L'interface HTMLMediaElement ajoute à HTMLElement les propriétés et les méthodes nécessaires pour prendre en charge les fonctionnalités de base liées aux médias qui sont communes aux vidéos et aux documents audios. HTMLVideoElement et HTMLAudioElement héritent de cette interface.

Propriétés

Cette interface hérite aussi des propriétés de ses ancêtres HTMLElement, Element, Node et EventTarget.

HTMLMediaElement.audioTracks
est une AudioTrackList qui liste les objets AudioTrack (pistes audio) contenus dans l'élément.
HTMLMediaElement.autoplay
est un Boolean qui reflète l'attribut HTML autoplay, indiquant si la lecture doit commencer automatiquement dès que suffisamment de médias sont disponibles pour le faire sans interruption.

Les sites qui lisent automatiquement l'audio (ou les vidéos avec une piste audio) peuvent être désagréables pour les utilisateurs, il faut donc l'éviter autant que possible. Si vous devez offrir la fonctionnalité de lecture automatique, vous devez la faire activer (par un utilisateur qui la lance expréssement). Cependant, cela peut être utile lors de la création d'éléments média dont la source sera définie ultérieurement, sous le contrôle de l'utilisateur.

HTMLMediaElement.bufferedLecture seule
Renvoie un objet TimeRanges qui indique les plages de la source du média que le navigateur a en mémoire tampon (le cas échéant) au moment de l'accès à la propriété buffered.
HTMLMediaElement.controller
est un objet MediaController qui représente le contrôleur du média assigné à l'élément, ou null si aucun n'est défini.
HTMLMediaElement.controls
est un Boolean qui reflète l'attribut HTML controls, indiquant quels éléments de contrôle de ressource de l'interface utilisateur doivent être affichés.
HTMLMediaElement.controlsList Lecture seule
renvoie une DOMTokenList qui aide l'agent utilisateur à sélectionner les contrôles à afficher sur l'élément du média chaque fois que l'agent utilisateur affiche son propre jeu de contrôles. La DOMTokenList prend une ou plusieurs des trois valeurs possibles : nodownload, nofullscreen et noremoteplayback.
HTMLMediaElement.crossOrigin
est une DOMString (chaîne de caractères) indiquant les règlages CORS pour cet élément de média.
HTMLMediaElement.currentSrcLecture seule
Renvoie une DOMString (chaîne de caractères) avec l'URL absolue de la ressource de média choisie.
HTMLMediaElement.currentTime
est un double indiquant le temps de lecture actuel en secondes. La définition de cette valeur recherche le média à la nouvelle heure.
HTMLMediaElement.defaultMuted
est un Boolean qui reflète l'attribut HTML muted, qui indique si la sortie audio de l'élément média doit être désactivée par défaut.
HTMLMediaElement.defaultPlaybackRate
est un double indiquant le taux de lecture par défaut pour le média.
HTMLMediaElement.disableRemotePlayback
est un Boolean qui définit ou retourne l'état de lecture à distance, indiquant si l'élément de média est autorisé à avoir une interface de lecture à distance.
HTMLMediaElement.durationLecture seule
renvoie un double indiquant la longueur du média en secondes, ou 0 si aucune donnée multimédia n'est disponible.
HTMLMediaElement.endedLecture seule
renvoie un Boolean qui indique si l'élément média est terminé.
HTMLMediaElement.errorLecture seule
renvoie un objet MediaError pour l'erreur la plus récente, ou null s'il n'y a pas eu d'erreur.
HTMLMediaElement.loop
est un Boolean qui reflète l'attribut HTML loop (boucle), lequel indique si l'élément média doit recommencer quand il arrive à la fin.
HTMLMediaElement.mediaGroup
est une DOMString qui reflète l'attribut HTML mediagroup, lequel indique le nom du groupe d'éléments auquel il appartient. Un groupe d'éléments média partage un  MediaController commun.
HTMLMediaElement.mediaKeysLecture seule
Renvoie un objet MediaKeys ou nullMediaKeys est un ensemble de clés qu'un élément HTMLMediaElement associé peut utiliser pour déchiffrer les données du média pendant la lecture.
HTMLMediaElement.mozAudioCapturedLecture seule
renvoie un Boolean. Lié à la capture de flux audio.
HTMLMediaElement.mozFragmentEnd
est un double qui donne accès à l'heure de fin du fragment si l'élément média a un fragment URI pour currentSrc, sinon il est égal à la durée du média.
HTMLMediaElement.mozFrameBufferLength  

est un unsigned long qui indique le nombre d'échantillons qui seront renvoyés dans le "framebuffer" de chaque évènement MozAudioAvailable. Ce nombre est un total pour tous les canaux, et par défaut est défini par le nombre de canaux * 1024 (c'est-à-dire, 2 canaux * 1024 échantillons = total 2048).

La propriété mozFrameBufferLength peut être définie à une nouvelle valeur pour une latence plus faible, de plus grandes quantités de données, etc. La taille donnée doit être un nombre compris entre 512 et 16384. L'utilisation d'autres tailles entraîne la levée d'une exception. Le meilleur moment pour définir une nouvelle longueur est après le lancement de l'évènement loadedmetadata, lorsque l'information audio est connue, mais avant que l'audio ait commencé ou que les événements MozAudioAvailable aient commencé à se déclencher.

HTMLMediaElement.mozSampleRateLecture seule  
renvoie un double représentant le nombre d'échantillons par seconde. Par exemple, 44100 échantillons par seconde correspondent à la fréquence d'échantillonnage utilisée par les CD audio.
HTMLMediaElement.muted
est un Boolean qui détermine si l'audio est coupé. true (vrai) si l'audio est coupé et false (faux) sinon.
HTMLMediaElement.networkStateLecture seule
renvoie un unsigned short (énumération) indiquant l'état actuel de récupération du média sur le réseau.
HTMLMediaElement.pausedLecture seule
renvoie un Boolean qui indique si l'élément média est en pause.
HTMLMediaElement.playbackRate
est un double qui indique la vitesse à laquelle le média est lu.
HTMLMediaElement.playedLecture seule
renvoie un objet TimeRanges qui contient les plages de la source média que le navigateur a lu, le cas échéant.
HTMLMediaElement.preload
est une DOMString (chaîne) qui reflète l'attribut HTML preload, indiquant quelles données doivent être préchargées, le cas échéant. Les valeurs possibles sont : none, metadata, auto.
HTMLMediaElement.preservesPitch
est un Boolean qui détermine si la hauteur du son sera préservée. S'il est défini à false (faux), la hauteur du son s'ajustera à la vitesse de l'audio. C'est implémenté avec préfixe dans Firefox (mozPreservesPitch) et WebKit (webkitPreservesPitch).
HTMLMediaElement.readyStateLecture seule
Renvoie un unsigned short (énumération) indiquant l'état de préparation des médias.
HTMLMediaElement.seekableLecture seule
Renvoie un objet TimeRanges qui contient les plages de temps que l'utilisateur peut rechercher, le cas échéant.
HTMLMediaElement.seekingLecture seule
Renvoie un Boolean qui indique si les médias sont en train de chercher une nouvelle position.
HTMLMediaElement.sinkIdLecture seule
Renvoie une DOMString (chaîne) qui est l'identifiant unique du périphérique audio de sortie, ou une chaîne vide s'il utilise l'agent utilisateur par défaut. Cet identifiant doit être l'une des valeurs MediaDeviceInfo.deviceid retournées par MediaDevices.enumeratedDevices(), id-multimedia ou id-communications.
HTMLMediaElement.src
est une DOMString qui reflète l'attribut HTML src, lequel contient l'URL d'une ressource média à utiliser.
HTMLMediaElement.srcObject
est un MediaStream représentant le média à lire ou qui a joué dans le HTMLMediaElement courant, ou null s'il n'est pas assigné.
HTMLMediaElement.textTracksLecture seule
Renvoie la liste d'objets TextTrack (piste de texte) contenus dans l'élément.
HTMLMediaElement.videoTracksLecture seule
Renvoie la liste d'objets VideoTrack (pistes vidéo) contenus dans l'élément.

Note : Gecko ne prend en charge que la lecture d'une seule piste et l'analyse des métadonnées des pistes n'est disponible que pour les médias avec le format de conteneur Ogg.

HTMLMediaElement.volume
est un double indiquant le volume audio, de 0.0 (silence) à 1.0 (le plus fort).

Gestionnaires d'évènements

HTMLMediaElement.onencrypted
définit le EventHandler (gestionnaire d'évènements) appelé quand le média est encrypté.
HTMLMediaElement.onwaitingforkey
définit le EventHandler (gestionnaire d'évènements) appelé quand la lecture est bloquée en attente d'une clé de cryptage.

Attributs obsolètes

Ces attributs sont obsolètes et ne doivent plus être utilisés, même si un navigateur les prend encore en charge.

HTMLMediaElement.initialTime Lecture seule
renvoie un double qui indique la position de lecture initiale en secondes.
HTMLMediaElement.mozChannels Lecture seule  
renvoie un double représentant le nombre de canaux dans la ressource audio (c'est-à-dire 2 pour stéréo).

Gestionnaires d'évènements obsolètes

HTMLMediaElement.onmozinterruptbegin
définit le EventHandler (gestionnaire d'évènements) appelé lorsque l'élément média est interrompu du fait du gestionnaire de canaux audio. C'était une spécificité de Firefox, implémentée pour Firefox OS et supprimée à partir de Firefox 55.
HTMLMediaElement.onmozinterruptend
définit le EventHandler (gestionnaire d'évènements) appelé lorsque l'interruption est terminée. C'était une spécificité de Firefox, implémentée pour Firefox OS et supprimée à partir de Firefox 55.

Méthodes

Cette interface hérite aussi des méthodes de ses ancêtres HTMLElement, Element, Node et EventTarget.

HTMLMediaElement.addTextTrack()
Ajoute une piste de texte (telle qu'une piste pour les sous-titres) à un élément de média.
HTMLMediaElement.captureStream()
Renvoie MediaStream, capture un flux du contenu du média.
HTMLMediaElement.canPlayType()
Détermine si le type de média spécifié peut être lu.
HTMLMediaElement.fastSeek()
cherche directement à l'heure donnée.
HTMLMediaElement.load()
Réinitialise l'élément média et redémarre la ressource. Tous les événements en attente sont ignorés. La quantité de données média récupérées est toujours affectée par l'attribut preload. Cette méthode peut être utile pour libérer des ressources après la suppression de tout attribut src et des descendants d'éléments source. Sinon, il est généralement inutile d'utiliser cette méthode, à moins que cela ne soit nécessaire pour réanalyser les enfants de l'élément source après des modifications dynamiques.
HTMLMediaElement.mozCaptureStream()
[enter description]
HTMLMediaElement.mozCaptureStreamUntilEnded()
[enter description]
HTMLMediaElement.mozGetMetadata()
Renvoie un Object, qui contient des propriétés représentant les métadonnées de la ressource média en cours de lecture, comme paires {key: value}. Une copie distincte des données est renvoyée chaque fois que la méthode est appelée. Cette méthode doit être appelée après le déclenchement de l'évènement loadedmetadata.
HTMLMediaElement.pause()
met en pause la lecture du média.
HTMLMediaElement.play()
commence la lecture du média.
HTMLMediaElement.seekToNextFrame()
cherche l'image suivante dans les médias. Cette méthode expérimentale non standard permet de conduire manuellement la lecture et le rendu des médias à une vitesse personnalisée, ou de se déplacer dans le média image par image pour effectuer un filtrage ou d'autres opérations.
HTMLMediaElement.setMediaKeys()
Renvoie Promise. Définit les MediaKeys, clés à utiliser quand le média doit être décrypté pendant la lecture.
HTMLMediaElement.setSinkId()
définit l'identifiant du périphérique audio à utiliser en sortie et renvoie un Promise. Cela fonctionne uniquement quand l'application est autorisée à utiliser l'appareil spécifié.

Méthodes obsolètes

Ces méthodes sont obsolètes et ne doivent plus être utilisées, même si un navigateur les prend encore en charge.

HTMLMediaElement.mozLoadFrom()
Cette méthode, disponible seulement pour les implémentations Mozilla, charge les données d'un autre élément de média. Ce fonctionnement est similaire à load() excepté qu'à la place d'exécuter l'algorithme normal de sélection de la ressource, la source est simplement définie sur  currentSrc de l'autre élément. Ceci est optimisé pour que cet élément accède à toutes les données mises en cache et en mémoire tampon de l'autre élément ; en fait, les deux éléments partagent les données téléchargées, de sorte que les données téléchargées par l'un ou l'autre élément sont disponibles pour les deux.

Spécifications

Spécification Statut Commentaire
HTML Living Standard
La définition de 'HTMLMediaElement' dans cette spécification.
Standard évolutif Pas de changement de HTML5
HTML5
La définition de 'HTMLMediaElement' dans cette spécification.
Recommendation Définition initiale.
Encrypted Media Extensions
La définition de 'Encrypted Media Extensions' dans cette spécification.
Recommendation Ajout de MediaKeys, MediaEncryptedEvent, et setMediaKeys.
Media Capture and Streams
La définition de 'HTMLMediaElement' dans cette spécification.
Candidat au statut de recommandation Ajout de sinkId, setSinkId() et captureStream().

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui Oui3.59 Oui Oui
addTextTrack ? ? ? ? ? ?
audioTracks ? Non331 ? ? ?
autoplay Oui Oui3.59 Oui Oui
buffered Oui Oui49 Oui Oui
canPlayType Oui Oui3.59 Oui Oui
captureStream53 Non15 moz ? ? ?
controller ? Non Non2 ? ? ?
controls Oui Oui3.59 Oui Oui
controlsList58 ? ? ?45 ?
crossOrigin Oui Oui

22

12 — 223

9 Oui Oui
currentSrc Oui Oui3.59 Oui Oui
currentTime Oui Oui3.59 Oui Oui
defaultMuted Oui Oui11 ? Oui Oui
defaultPlaybackRate Oui Oui209 ? ?
disableRemotePlayback49 Oui209 Oui Oui
duration Oui Oui3.59 Oui Oui
ended Oui Oui3.59 Oui Oui
error Oui Oui3.59 Oui Oui
fastSeek ? Non31 ? ? ?
initialTime ? Non9 — 23 ? ? ?
load ? ? ? ? ? ?
loop Oui Oui119 ? ?
mediaGroup ? Non Non2 ? ? ?
mediaKeys ? ? ? ? ? ?
mozAudioCaptured ? ? ? ? ? ?
mozCaptureStreamUntilEnded ? ? ? ? ? ?
mozChannels Non Non4 Non Non Non
mozFragmentEnd ? ? ? ? ? ?
mozFrameBufferLength Non Non4 Non Non Non
mozGetMetadata Non Non17 Non Non Non
mozLoadFrom Non Non3.6 — 24 Non Non Non
mozSampleRate Non Non4 Non Non Non
muted Oui Oui3.59 Oui Oui
networkState Oui Oui3.549 Oui Oui
onerror Oui Oui3.59 Oui Oui
onencrypted ? ? ? ? ? ?
onmozinterruptbegin ? ? Oui — 55 ? ? ?
onmozinterruptend ? ? Oui — 55 ? ? ?
onwaitingforkey55 Non ? ?42 ?
pause Oui Oui3.59 Oui Oui
paused Oui Oui3.59 Oui Oui
play Oui Oui3.59 Oui Oui
playbackRate Oui Oui209 ? ?
played Oui Oui159 ? ?
preload Oui Oui49 ? ?
preservesPitch Oui -webkit- Non20 -moz- Non Non Non
readyState Oui Oui3.59 Oui Oui
seekToNextFrame ? Non495 ? ? ?
seekable Oui Oui89 ? ?
seeking Oui Oui3.59 Oui Oui
setMediaKeys ? ? ? ? ? ?
setSinkId49 Non ? ? ? ?
sinkId49 Non ? ? ? ?
src Oui Oui3.59 Oui Oui
srcObject52 Oui

Oui

18 — 58 moz

?39 ?
textTracks ? Non ? ? ? ?
videoTracks ? Non331 ? ? ?
volume Oui Oui3.59 Oui Oui
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui Oui Oui Oui ?
addTextTrack ? ? ? ? ? ? ?
audioTracks ? ? Oui331 ? ? ?
autoplay Oui Oui Oui Oui Oui Oui ?
buffered Oui Oui Oui Oui Oui Oui ?
canPlayType Oui Oui Oui Oui Oui Oui ?
captureStream5353 Non15 moz ? ? ?
controller ? ? Non Non2 ? ? ?
controls Oui Oui Oui Oui Oui Oui ?
controlsList5858 ? ?42 ? ?
crossOrigin Oui Oui Oui Oui Oui Oui ?
currentSrc Oui Oui Oui Oui Oui Oui ?
currentTime Oui Oui Oui Oui Oui Oui ?
defaultMuted Oui Oui Oui14 Oui Oui ?
defaultPlaybackRate Oui Oui Oui20 ? ? ?
disableRemotePlayback4949 Oui15 Oui Oui ?
duration Oui Oui Oui Oui Oui Oui ?
ended Oui Oui Oui Oui Oui Oui ?
error Oui Oui Oui Oui Oui Oui ?
fastSeek ? ? Non31 ? ? ?
initialTime ? ? Non9 — 23 ? ? ?
load ? ? ? ? ? ? ?
loop Oui Oui Oui Oui ? ? ?
mediaGroup ? ? Non Non2 ? ? ?
mediaKeys ? ? ? ? ? ? ?
mozAudioCaptured ? ? ? ? ? ? ?
mozCaptureStreamUntilEnded ? ? ? ? ? ? ?
mozChannels Non Non Non4 Non Non ?
mozFragmentEnd ? ? ? ? ? ? ?
mozFrameBufferLength Non Non Non4 Non Non ?
mozGetMetadata Non Non Non17 Non Non ?
mozLoadFrom Non Non Non4 — 24 Non Non ?
mozSampleRate Non Non Non4 Non Non ?
muted Oui Oui Oui Oui Oui Oui ?
networkState Oui Oui Oui Oui Oui Oui ?
onerror Oui Oui Oui Oui Oui Oui ?
onencrypted ? ? ? ? ? ? ?
onmozinterruptbegin ? ? ? Oui — 55 ? ? ?
onmozinterruptend ? ? ? Oui — 55 ? ? ?
onwaitingforkey5555 Non ?42 ? ?
pause Oui Oui Oui Oui Oui Oui ?
paused Oui Oui Oui Oui Oui Oui ?
play Oui Oui Oui Oui Oui Oui ?
playbackRate Oui Oui Oui20 ? ? ?
played Oui Oui Oui15 ? ? ?
preload Oui Oui Oui4 ? ? ?
preservesPitch Oui Oui Oui Oui Non Non ?
readyState Oui Oui Oui Oui Oui Oui ?
seekToNextFrame ? ? Non495 ? ? ?
seekable Oui Oui Oui8 ? ? ?
seeking Oui Oui Oui Oui Oui Oui ?
setMediaKeys ? ? ? ? ? ? ?
setSinkId4949 Non ? ? ? ?
sinkId4949 Non ? ? ? ?
src Oui Oui Oui Oui Oui Oui ?
srcObject5252 Oui

Oui

18 — 58 moz

39 ? ?
textTracks ? ? Non ? ? ? ?
videoTracks ? ? Oui331 ? ? ?
volume Oui Oui Oui Oui Oui Oui ?

1. From version 33: this feature is behind the media.track.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

2. Firefox doesn't implement this yet. See bug 847377.

3. Supported as crossorigin.

4. The NETWORK_LOADED state was removed to align with the HTML spec in Firefox 4.

5. From version 49: this feature is behind the media.seekToNextFrame preference (needs to be set to true). To change preferences in Firefox, visit about:config.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : loella16, MrMargouillat
Dernière mise à jour par : loella16,