这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
MediaSession
接口在
媒体会话 API
allows a web page to provide custom behaviors for standard media playback interactions, and to report metadata that can be sent by the user agent to the device or operating system for presentation in standardized user interface elements.
For example, a smartphone might have a standard panel in its lock screen that provides controls for media. A browser on that device might deliver the metadata provided by calling
MediaSession
to the device in order to be controllable using the global user interface.
metadata
MediaMetadata
which contains rich media metadata, for display in a platform UI.
playbackState
none
,
paused
,或
playing
.
setActionHandler()
Sets an event handler for a media session action, such as play or pause. See the method page for a full list.
setPositionState()
Sets the current playback position and speed of the media currently being presented.
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.querySelector("#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";
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
Media Session Standard
The definition of 'MediaSession' in that specification. |
草案 | 初始定义。 |
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
更新 GitHub 上的兼容性数据| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaSession
|
Chrome 73 | Edge ≤79 | Firefox 71 | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android 57 | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android 7.0 |
metadata
|
Chrome 73 | Edge ≤79 | Firefox 71 | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android 57 | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android 7.0 |
playbackState
|
Chrome 73 | Edge ≤79 | Firefox No | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android 57 | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android 7.0 |
setActionHandler()
|
Chrome 73 | Edge ≤79 | Firefox 71 | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android 57 | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android 7.0 |
setPositionState()
|
Chrome 73 | Edge ≤79 | Firefox No | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android 57 | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android 7.0 |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
用户必须明确启用此特征。
MediaSession