在uniapp中nvue 页面怎样获取上传的视频文件的第一帧图片uni.chooseVideo({count: 1,sourceType: ['camera', 'album'],success: (e) => {e.tempFilePath
时间: 2024-03-22 09:39:36 浏览: 827
可以使用uni.createVideoContext()方法获取视频的第一帧图片。具体步骤如下:
1. 在wxml文件中定义一个video标签,并设置一个id:
```html
<video id="my-video" src="{{videoSrc}}" controls></video>
```
2. 在js文件中,获取video标签的上下文:
```javascript
let context = uni.createVideoContext('my-video', this);
```
3. 在选择视频成功的回调函数中,设置视频的src,并在视频加载成功后获取第一帧图片:
```javascript
uni.chooseVideo({
count: 1,
sourceType: ['camera', 'album'],
success: (res) => {
let videoSrc = res.tempFilePath;
this.videoSrc = videoSrc; // 绑定视频的src
context = uni.createVideoContext('my-video', this);
context.onCanplay(() => {
context.seek(0);
context.onSeeked(() => {
uni.canvasToTempFilePath({
canvasId: 'my-canvas',
x: 0,
y: 0,
width: 300,
height: 150,
success: (res) => {
console.log(res.tempFilePath); // 获取到视频的第一帧图片
}
}, this);
});
});
}
});
```
4. 在wxml文件中,添加一个canvas标签用于绘制视频第一帧图片:
```html
<canvas id="my-canvas" canvas-id="my-canvas"></canvas>
```
阅读全文