gpt4 book ai didi

android - 带有视频源的 HTML5 Canvas drawImage 不适用于 Android

转载 作者:太空狗 更新时间:2023-10-29 15:16:48 25 4
gpt4 key购买 nike

我正在尝试对视频源使用 canvas 的 drawImage 方法,但它在 Android 4.4.2 中不起作用,已使用 Chrome 浏览器进行测试。

这是我的代码:

$(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/

有没有办法让它同时适用于 Android 和 iOS 设备?

最佳答案

这似乎是该特定文件格式 ( mp4 ) 的问题。

替换 webm文件,它工作正常。

不幸的是,这就是<video> 的方式一段时间(真正需要 webm/ogg 而不仅仅是 mp4,不管浏览器声称支持什么)。

(我敢打赌这是一个与反 DRM 屏幕截图有关的错误?谁知道呢)

例如使用来源 http://video.webmfiles.org/big-buck-bunny_trailer.webm它会起作用:http://jsfiddle.net/h1hjp0Lp/15/

关于android - 带有视频源的 HTML5 Canvas drawImage 不适用于 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30436576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com