javascript - 如何使用 Chrome 工具栏上的音乐内容按钮?可以定制吗?

标签 javascript css google-chrome

我想知道如何使用最近添加到 Chrome 的音乐内容按钮。

例如,在 YouTube 音乐中,我们可以看到颜色类似于音乐封面图像的颜色,并且图像封面显示在右侧:

Sample 1

但在 Soundcloud 中,我们只能看到类似于音乐/音频封面图像颜色的颜色:

Sample 2

Spotify 中的按钮不同:

Sample 3

我想知道我们可以自定义音乐的颜色和图像等吗?

最佳答案

怎么了?

这是一个名为 Media Session API 的 Chrome API。您可以访问:

 navigator.mediaSession...

如果您想要完整的示例:

 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' },
    ]
  });

  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() {});
}

更多 API 文档链接:https://developers.google.com/web/updates/2017/02/media-session

关于javascript - 如何使用 Chrome 工具栏上的音乐内容按钮?可以定制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61015197/

相关文章:

css - :before sometimes displays incorrectly… 上的字符

javascript - Chrome 扩展中的持久服务 worker

javascript - 无法更新 Mongoose 值

javascript - 使用箭头键和鼠标单击创建一个 slider

javascript - 下拉 Div 在悬停时保持可见 jQuery

jquery - ui-draggable 在 Chrome 上的模态对话框中无法正常工作

html - 包括谷歌网页字体不起作用

javascript - jQuery animate 没有效果?

javascript - 有没有办法检查 chrome chrome ://flags/values using javascript?

javascript - 为什么我不能在 Chrome 中声明与函数体同名的 let 变量