Navigator: mediaSession 属性

Baseline 已广泛支持

此功能已成熟,并可在多种设备和浏览器版本上运行。自 2021 年 9 月起,所有浏览器均已支持此功能。

Navigator 接口的只读属性 mediaSession 返回一个 MediaSession 对象,该对象可用于与浏览器共享文档正在处理的媒体的当前播放状态的元数据和其他信息。

这些信息反过来可以与设备和/或操作系统共享,以便使用设备的标准媒体控件用户体验来描述和控制媒体的播放。

此外,MediaSession 接口提供了 setActionHandler() 方法,该方法允许您在用户与屏幕上或物理的播放、暂停、查找以及其他类似控件等设备控件进行交互时接收事件。例如,一个互联网广播应用程序可以使用 setActionHandler() 来允许使用键盘或其他设备上的媒体控件来控制应用程序的媒体播放。

一个 MediaSession 对象,当前文档可以使用它来共享其正在播放的媒体信息及其当前的播放状态。这些信息可以包括典型的元数据,例如正在播放的歌曲的标题、艺术家和专辑名称,以及可能包含专辑封面、艺术家照片等的一个或多个图像。

示例

在此示例中,元数据被提交到 mediaSession 对象。请注意,代码首先确保 navigator.mediaSession 属性可用,然后再尝试使用它。

js
if ("mediaSession" in navigator) {
  navigator.mediaSession.metadata = new MediaMetadata({
    title: "Podcast Episode Title",
    artist: "Podcast Host",
    album: "Podcast Name",
    artwork: [{ src: "podcast.jpg" }],
  });
}

规范

规范
媒体会话
# dom-navigator-mediasession

浏览器兼容性