【问题标题】:Canvas drawImage of html5 video works on browsers but not Androidhtml5 视频的 Canvas drawImage 适用于浏览器,但不适用于 Android
【发布时间】:2015-12-14 21:20:15
【问题描述】:

为什么这段代码可以在普通浏览器上运行,但在 Android 浏览器上显示相同的屏幕截图?

HTML

<div class="video">
    <video id="video" src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4" muted controls autoplay></video>
</div>
<div class="timeline" id="timeline"></div>

JavaScript

var timeline = document.getElementById('timeline'),
    video = document.getElementById('video'),
    interval = null;

video.addEventListener("playing", onStart);
video.addEventListener("pause", onStop);
video.addEventListener("ended", onEnd);

function onStart() {
    if (interval == null) {
        interval = window.setInterval(createImage, 1000);
    }
}

function onStop() {
    if (interval) {
        clearInterval(interval);
        interval = null;
    }
}

function onEnd() {
    onStop();
    video.removeEventListener("playing", onStart);
    video.removeEventListener("pause", onStop);
    video.removeEventListener("ended", onEnd);
}

function createImage() {
    console.log('createImage', video.currentTime, video.videoWidth, video.videoHeight);
    var canvas = document.createElement('canvas'),
        ctx = canvas.getContext('2d');
    ctx.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
    timeline.appendChild(canvas);
}

以下是完整代码: http://jsfiddle.net/kmturley/z99cmwtq/6/

【问题讨论】:

标签: javascript android html5-canvas html5-video


【解决方案1】:

为什么这在 chrome android 4.4.4 中对我有用?

drawImage()

codepen

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多