首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Html画布屏幕共享

Html画布屏幕共享
EN

Stack Overflow用户
提问于 2021-09-24 18:43:30
回答 1查看 182关注 0票数 1

我有这样的代码,它可以在视频标签中播放我的相机的视图,也可以播放到画布中,我如何编辑它,让它将我的屏幕(而不是我的相机视图)共享到画布中。

以下是我的html文件:

代码语言:javascript
复制
<html>
<head>
    <meta charset="UTF-8">
    <title>With canvas</title>
</head>
<body>
    <div class="booth">
        <video id="video" width="400" height="300" autoplay></video>
        <canvas id="canvas" width="400" height="300" style="border: 1px solid black;"></canvas>
    </div>
    <script src="video.js"></script>
</body>

这是js文件:

代码语言:javascript
复制
(function() {
var canvas= document.getElementById('canvas'),
context = canvas.getContext('2d'),
video = document.getElementById('video'),
vendorUrl = window.URL || window.webkitURL;

navigator.getMedia = navigator.getUserMedia ||
                     navigator.webkitGetUserMedia ||
                     navigator.mozGetUserMedia ||
                     navigator.msGetUserMedia;

navigator.getMedia ({
    video: true,
    audio: false
}, function(stream) {
    //video.src = vendorUrl.createObjectURL(stream);
    if ('srcObject' in video) {
        video.srcObject = stream;
      } else {
        video.src = vendorUrl.createObjectURL(stream);
      }
    video.play();
}, function(error) {
    // An error occured
    //error.code
});


video.addEventListener('play', function() {
    setInterval(() => {
    draw(this, context, 400, 300);
    }, 100);

}, false );
function draw(video, context, width, height) {
    context.drawImage(video, 0, 0, width, height);
}

}) ();

求你了救命!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-24 18:53:24

您必须多次drawImage来模拟视频,而不是一次。因此,尝试添加setInterval,每100 to绘制一次帧。

代码语言:javascript
复制
video.addEventListener('play', function() {
    draw(this, context, 400, 300);
}, false );

代码语言:javascript
复制
video.addEventListener('play', function() {
    setInterval(() => {
        draw(this, context, 400, 300);
    }, 100);
}, false );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69319797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档