मैं कैनवास पर एक वीडियो खींचने की कोशिश कर रहा हूं। इसे प्राप्त करने के लिए मैं प्रत्येक घटना के एक्स और वाई निर्देशांक प्राप्त करने के लिए जावास्क्रिप्ट में ऑनसाउसडाउन और ऑन-हाउसअप ईवेंट को कैप्चर करता हूं (मुझे कैनवास के अंदर वीडियो की स्थिति, चौड़ाई और ऊंचाई सेट करने की आवश्यकता है)।कैनवास पर वीडियो ड्रा करें HTML5
इसलिए, हर बार जब मैं कैनवास पर एक वीडियो खींचता हूं, तो पिछले निर्माण को रोकना चाहिए और नया को खेला जाना चाहिए। दो समस्याओं:
1) वीडियो खेलने नहीं करता है (समारोह केवल पहली फ्रेम) खींचता है, लेकिन उसकी ऑडियो
2) कैसे मैं पहले वीडियो तैयार कर सकते हैं करता है को रोकने के लिए?
डेमो: 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);
});
}
}
डेमो: http://jsfiddle.net/e3c3kore/
बिल्कुल वही जो मैं खोज रहा था। धन्यवाद! – user3673449