2026
1 featuresThe :playing, :paused, :seeking, :buffering, :stalled, :muted, and :volume-locked CSS pseudo-classes match <audio> and <video> elements based on their state.
2024
1 featuresThe requestVideoFrameCallback() method for <video> schedules a function that runs with the next video frame. It is similar to requestAnimationFrame(), but for video.
2023
1 featuresThe preservesPitch property for <audio> or <video> adjusts the pitch of audio to sound more natural when the playback rate is faster or slower than the default.
2015
4 featuresThe <audio> element plays sound such as audio effects or music, optionally with controls provided by the browser.
The <source> element sets a media resource for the <picture>, <video>, and <audio> elements.
The <video> element plays videos or movies, optionally with controls provided by the browser.
The <track> element is used as a child of the media elements that lets you specify a timed text track to be displayed in parallel with the media element.
Limited Availability
5 featuresThe audioTracks and videoTracks APIs for media elements switch audio and video tracks during playback.
The loading="lazy" attribute for <video> and <audio> elements defers loading the media resource until the element is near the viewport. This matches the lazy-loading behavior for <img> and <iframe> elements.
The captureStream() method for <audio> and <video> elements returns a MediaStream for the media element's content. You can use this to record media or send it elsewhere, such as a canvas or WebRTC connection.
The controlslist attribute for <audio> or <video> hides parts of the browser's built-in controls. For example, controlslist="nofullscreen" removes the button to play the video in fullscreen.
The fastSeek() method seeks an <audio> or <video> element as fast as possible, by seeking to a keyframe instead of exactly the requested time.