Sto provando a disegnare un video su una tela. Per ottenere questo, acquisisco gli eventi onMouseDown e onMouseUp in Javascript per ottenere le coordinate x e y di ciascun evento (che ho bisogno di impostare la posizione, la larghezza e l'altezza del video all'interno dell'area di disegno).Disegna video su tela HTML5
Pertanto, ogni volta che disegno un video sulla tela, il precedente creato deve essere fermato e il nuovo deve essere riprodotto. due problemi:
1) il video non viene riprodotto (la funzione disegna solo il primo fotogramma), ma il suo audio non
2) Come posso ottenere in precedenza disegnato video di smettere?
Demo: http://jsfiddle.net/e3c3kore/
<body>
<canvas id="canvas" width="800" height="600"></canvas>
</body>
var canvas, context, xStart, yStart, xEnd, yEnd;
canvas = document.getElementById("canvas");
context = canvas.getContext("2d");
canvas.addEventListener("mousedown", mouseDown);
canvas.addEventListener("mouseup", mouseUp);
function mouseDown(e) {
xStart = e.offsetX;
yStart = e.offsetY;
}
function mouseUp(e) {
xEnd = e.offsetX;
yEnd = e.offsetY;
if (xStart != xEnd && yStart != yEnd) {
var video = document.createElement("video");
video.src = "http://techslides.com/demos/sample-videos/small.mp4";
video.addEventListener('loadeddata', function() {
video.play();
context.drawImage(video, xStart, yStart, xEnd-xStart, yEnd-yStart);
});
}
}
Demo: http://jsfiddle.net/e3c3kore/
Esattamente quello che stavo cercando. Grazie! – user3673449