This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
The MediaSession
interface of the the Media Session API allows a web page to provide custom behaviors for standard media playback interactions.
Properties
MediaSession.metadata
- Returns an instance of
MediaMetadata
which contains rich media metadata, for display in a platform UI. MediaSession.playbackState
- Indicates whether the current media session is playing. Valid values are
"none"
,"paused"
, or"playing"
.
Methods
MediaSession.setActionHandler()
- Sets an event handler for a media session action, such as play or pause. See the method page for a full list.
Examples
The following example creates a new media session and assigns action handlers to it:
if ('mediaSession' in navigator){ navigator.mediaSession.metadata = new MediaMetadata({ title: "Podcast Episode Title", artist: "Podcast Host", album: "Podcast Name", artwork: [{src: "podcast.jpg"}] }); navigator.mediaSession.setActionHandler('play', function() {}); navigator.mediaSession.setActionHandler('pause', function() {}); navigator.mediaSession.setActionHandler('seekbackward', function() {}); navigator.mediaSession.setActionHandler('seekforward', function() {}); navigator.mediaSession.setActionHandler('previoustrack', function() {}); navigator.mediaSession.setActionHandler('nexttrack', function() {}); }
The following example sets up event handlers for pausing and playing:
var audio = document.querrySelect("#player"); audio.src = "song.mp3"; navigator.mediaSession.setActionHandler('play', play); navigator.mediaSession.setActionHandler('pause', pause); function play() { audio.play(); navigator.mediaSession.playbackState = "playing"; } function pause() { audio.pause(); navigator.mediaSession.playbackState = "Paused"; }
Specifications
Specification | Status | Comment |
---|---|---|
Media Session Standard The definition of 'MediaSession' in that specification. |
Editor's Draft | Initial definition. |
Browser Compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | No support | ? | ? | No support | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | No support | 57 | ? | ? | ? | No support | ? |
Document Tags and Contributors
Tags:
Contributors to this page:
bunnybooboo,
jpmedley
Last updated by:
bunnybooboo,