javascript - 如何使用 Chrome 工具栏上的音乐内容按钮?并且可以定制吗?
问题描述
我想知道如何使用最近添加到 chrome 的音乐内容按钮。
例如,在 youtube 音乐中,我们可以看到颜色类似于音乐封面图像颜色和图像封面显示在右侧:
但在 Soundcloud 中,我们只能看到类似于音乐/音频封面图像颜色的颜色:
和按钮在 Spotify 中有所不同:
我想知道我们可以自定义音乐的颜色和图像等吗?
解决方案
这是怎么回事?
这是一个名为 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
推荐阅读
- python - 出现 OSError 错误:[WinError 87] 参数不正确:
- flutter - 如何在不使用 firebase Cloud 功能的情况下实现推送通知?
- reactjs - 如果图片是base64格式,我可以下载吗?
- java - Java 是否还保证同步之前的所有变量更改对于在同一对象上同步的下一个线程可见?
- html - 如何使 Shadow DOM 中的样式元素与严格的 CSP 一起工作?
- javascript - 如何使用 ghostscript 命令压缩不同目录中的 pdf?
- html - 我如何从 subreddit 中创建一个随机的 reddit 帖子 url 选择器?(在 HTML 中)
- mongodb - 如何对MongoDB中的每n个元素执行统计
- arrays - 确保所有数组包含相同数量的样本
- android - 在片段和导航栏android中添加边距beetwen扩展浮动操作按钮