Chrome 媒体中心 API

Chrome media hub API

上周Chrome发布了媒体中心。这是浏览器顶部栏右侧的一个小按钮,可以访问所有正在播放的视频和音频。

https://blog.google/products/chrome/manage-audio-and-video-in-chrome/

使用 <video> 元素让您的播放器出现在这个媒体中心,它就可以正常工作。

但是对于 youtube 视频(见上文),媒体中心似乎能够找到封面图片、颜色和标题/sub-title。但是,我找不到任何有关如何使用标准视频元素获得此方面的文档。有什么想法吗?

我们都在同一条船上,在尝试挖掘 chromium 的源代码但没有成功之后,我就这个问题向 chromium 开发人员发送了一封电子邮件,并得到了有用的 link 关于 MediaSession

所以按照文档,您可以通过在 mediaSession 中设置 metadata 属性 来自定义它以显示标题、描述和插图(a.k.a。背景图片) 除了背景颜色,那是因为背景颜色是由图像的像素自动决定的。

if ('mediaSession' in navigator) {

  navigator.mediaSession.metadata = new MediaMetadata({
    title: 'Never Gonna Give You Up',
    artist: 'Rick Astley',
    album: 'Whenever You Need Somebody',
    artwork: [
      { src: 'https://dummyimage.com/96x96',   sizes: '96x96',   type: 'image/png' },
      { src: 'https://dummyimage.com/128x128', sizes: '128x128', type: 'image/png' },
      { src: 'https://dummyimage.com/192x192', sizes: '192x192', type: 'image/png' },
      { src: 'https://dummyimage.com/256x256', sizes: '256x256', type: 'image/png' },
      { src: 'https://dummyimage.com/384x384', sizes: '384x384', type: 'image/png' },
      { src: 'https://dummyimage.com/512x512', sizes: '512x512', type: 'image/png' },
    ]
  });
}

我在 JSFiddle 上创建了 demo。结果如下。