img 悬停时长设置_audio、video、canvas、截取视频设置封面、截取某个时间画面、根据鼠标实时更新视频封面
时间: 2023-09-17 15:13:08 浏览: 56
1. 悬停时长设置_audio、video、canvas
对于audio和video,可以使用HTML5中的`title`属性来设置悬停时长,例如:
```html
<audio controls title="悬停时长为10秒">
<source src="audio.mp3" type="audio/mpeg">
</audio>
<video controls title="悬停时长为20秒">
<source src="video.mp4" type="video/mp4">
</video>
```
对于canvas,你可以使用`title`属性或者使用JavaScript中的`setTimeout`函数来设置悬停时长,例如:
```html
<canvas id="myCanvas" width="200" height="200" title="悬停时长为5秒"></canvas>
<script>
setTimeout(function() {
document.getElementById("myCanvas").title = "悬停时长为10秒";
}, 5000);
</script>
```
2. 截取视频设置封面、截取某个时间画面
要截取视频的某个时间画面作为封面,可以使用HTML5中的`poster`属性,例如:
```html
<video controls poster="cover.jpg">
<source src="video.mp4" type="video/mp4">
</video>
```
如果要截取视频的某个时间画面,可以使用JavaScript中的`canvas`元素和`drawImage`方法,例如:
```html
<video controls id="myVideo">
<source src="video.mp4" type="video/mp4">
</video>
<canvas id="myCanvas" width="200" height="200"></canvas>
<script>
var video = document.getElementById("myVideo");
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
video.addEventListener("timeupdate", function() {
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
});
</script>
```
这个例子会在canvas上实时绘制视频当前时间的画面。
3. 根据鼠标实时更新视频封面
要根据鼠标实时更新视频封面,可以使用JavaScript中的`mousemove`事件和`canvas`元素和`drawImage`方法,例如:
```html
<video controls id="myVideo">
<source src="video.mp4" type="video/mp4">
</video>
<canvas id="myCanvas" width="200" height="200"></canvas>
<script>
var video = document.getElementById("myVideo");
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
canvas.addEventListener("mousemove", function(e) {
var rect = canvas.getBoundingClientRect();
var x = e.clientX - rect.left;
var y = e.clientY - rect.top;
var w = canvas.width;
var h = canvas.height;
ctx.drawImage(video, 0, 0, w, h);
ctx.fillStyle = "rgba(0, 0, 0, 0.5)";
ctx.fillRect(0, 0, w, h);
ctx.drawImage(video, x - 50, y - 50, 100, 100, 0, 0, w, h);
});
</script>
```
这个例子会在canvas上绘制视频当前时间的画面,并在鼠标位置处显示一个100x100的区域。
阅读全文