我也是这个问题,大佬们有解决的方案没
利用画布在video截图,在安卓端截图第一张永远是空白内容https://developers.weixin.qq.com/miniprogram/dev/component/canvas.html toggleScreenShotMode() { console.log("点击截屏") const videoContext = wx.createVideoContext('ulVideo', this); const query = wx.createSelectorQuery(); query.select('#videoCanvas') .fields({ node: true, size: true }) .exec((res) => { console.log(res); const canvas = res[0].node; const canvasContext = canvas.getContext('2d'); const width = res[0].width; const height = res[0].height; canvas.width = width; canvas.height = height; videoContext.pause(); console.log('currentTime =', this.data.currentTime); videoContext.seek(this.data.currentTime); setTimeout(() => { wx.createSelectorQuery().select('#ulVideo').context().exec((res) => { console.log(res); const video = res[0].context; canvasContext.clearRect(0, 0, width, height); canvasContext.drawImage(video, 0, 0, width, height); wx.canvasToTempFilePath({ canvas: canvas, fileType: 'jpg', success: (res) => { console.log('截屏成功', res.tempFilePath); // 获取图像数据 wx.getFileSystemManager().readFile({ filePath: res.tempFilePath, encoding: 'base64', success: (fileRes) => { const base64Image = 'data:image/png;base64,' + fileRes.data; this.addImageToReport(res.tempFilePath, base64Image); }, fail: (err) => { console.error('读取图像数据失败:', err); }, }); }, fail: (err) => { console.error('截屏失败', err); } }); }); }, 500); }); },
06-13