MediaSession

我们的志愿者还没有将这篇文章翻译为 中文 (简体)加入我们帮助完成翻译!
您也可以阅读此文章的English (US)版。

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 ?

文档标签和贡献者