Media Session Standard
Python Shell Makefile

Media Session Standard

This standardization project aims to add support for media keys and audio focus to the Web. Media keys, like play, pause, fast forward and rewind, are found on keyboards, headsets, remote controls, and on lock screens of mobile devices.


The explainer of the MediaSession API can be found here.

Use cases

The use cases of the MediaSession API can be found here.


Our goal is to provide developers with low-level primitives that both help explain the platform, while also allowing developers to build rich multimedia experiences that leverage media key events. Keeping to our commitment to the extensible web manifesto, we want to allow the media key events to be routed to wherever you need them in your web application. At the same time, we want to make sure that whatever solution we come up with is easy to use – by possibly extending existing HTML elements or APIs.


Access to media keys and lock screen UI will only be granted when audio playback begins, ensuring that audio focus is not taken from another application prematurely and that lock screen UI is only shown when it can be used. This matches the iOS model.


This spec is built using Bikeshed.

Update and send a Pull Request with your changes. When your Pull Request will be merged, a new index.html will be generated. If you want to test locally, you can run make to generate index.html using Bikeshed's web interface. However, you should not send the index.html file in your Pull Request.

To run Bikeshed locally, install Bikeshed and then run bikeshed spec in the working directory.

Everyone is welcome to contribute! However, you need join WICG first and sign the W3C Community Contributor License Agreement.

Code of conduct

We are committed to providing a friendly, safe and welcoming environment for all. Please read and respect the W3C Code of Conduct.