Ich versuche, Canvas drawImage
Methode mit Videoquelle zu verwenden, aber es funktioniert nicht in Android 4.4.2, getestet mit Chrome-Browser.HTML5 Canvas drawImage mit Videoquelle funktioniert nicht auf Android
Hier ist mein Code:
$(function() {
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var video = document.getElementById('video');
var videoWidth;
var videoHeight;
var paused = false;
canvas.addEventListener('click', function() {
if (paused) {
video.play();
} else {
video.pause();
}
paused = !paused;
});
video.addEventListener("loadedmetadata", function() {
videoWidth = this.videoWidth || this.width;
videoHeight = this.videoHeight || this.height;
canvas.width = videoWidth;
canvas.height = videoHeight;
}, false);
video.addEventListener('play', function() {
var $this = this; // cache
(function loop() {
if (! $this.paused && ! $this.ended) {
drawImage($this);
requestAnimationFrame(loop);
// setTimeout(loop, 1000/25); // drawing at 25 fps
}
})();
}, 0);
function drawImage(frame) {
ctx.drawImage(frame, 0, 0);
// ctx.clearRect (0 , 0 , canvas.width, canvas.height);
}
});
Fiddle:http://jsfiddle.net/h1hjp0Lp/
Gibt es eine Möglichkeit, wie gut es funktioniert mit Android und iOS-Geräte zu machen?
Try 'click' Ereignis mit' touchstart' zu ersetzen, sehen, ob es funktioniert. – Allen
@Allen, danke, aber es funktioniert nicht. – vitozev
lesen, scheint es, dass es einen Fehler in Chrome Mobile ist. Ich habe gerade die vorherigen Demos überprüft, die ich mit Video -> Canvas gemacht habe und sie funktionieren nicht mehr. Ich werde weiter nachforschen. (Android 5.1) – rlemon