Media Session封面图不显示问题排查求助
Media Session封面图在Ubuntu系统不显示(Windows正常)
我正在开发一款简易音乐播放器,Media Session的元数据相关功能(标题、专辑、艺术家显示)都正常,但设置封面图时遇到了问题。参考Museeks的实现写了如下代码:
const cover = this.getCover(this.playback.album.coverPath); // Setup media session metadata let metadata = { title: this.playback.track.title, album: this.playback.album.title, artist: this.playback.album.artist, artwork: cover? [{ src: cover }] : null }; navigator.mediaSession.metadata = new MediaMetadata(metadata); getCover(coverPath) { const data = fs.readFileSync(coverPath, { encoding: 'base64' }); const format = path.extname(coverPath).substr(1); return `data:${format};base64,${data}`; }
目前的情况:
- 代码没有报错
- 在控制台执行
navigator.mediaSession.metadata.artwork[0].src能得到正确的base64格式字符串 - 把这个字符串直接赋值给img元素的src,图片可以正常显示
- 更新:这个功能在Windows系统下完全正常运行,推测是Ubuntu系统的兼容性问题,我打算去Electron的GitHub仓库提交issue。
内容的提问来源于stack exchange,提问作者M7kra
相关产品推荐
相关产品推荐

