繁体   English   中英

未捕获的TypeError:无法读取null Node.js的属性'getContext'

[英]Uncaught TypeError: Cannot read property 'getContext' of null Node.js

我正在尝试为一个项目创建流式视频,正在包括HTML的node.js中创建,但无法通过此错误完成Uncaught TypeError: Can not read property 'getContext' of null

然后我需要解决该问题,但是我不能,因为我寻求解决方案和这种类型的错误,但是没有一个对我有效,只是我必须在以下几行中进行评论的问题:

  var context = canvas.getContext("2d");

        canvas.width = 800;
        canvas.height = 600;

        context.width = canvas.width;
        context.height = canvas.height

这是我的proyect的代码:Emitir Video

    <canvas style = "display:none;" id "preview" width='1280' height='720'></canvas>

    <div id = "logger"></div>

    <script type="text/javascript">
        var canvas = document.getElementById("preview");
        var context = canvas.getContext("2d"); // This is the line that generates the error

        canvas.width = 800;
        canvas.height = 600;

        context.width = canvas.width;
        context.height = canvas.height;

        var video = document.getElementById("video");
        var socket = io();

        function logger(msg)
        {
            $("#logger").text(msg);
        }

        function loadCam(stream)
        {
            video.src = window.URL.createObjectURL(stream);
            logger('Camara cargada correctamente [OK]');
        }

        function loadFail()
        {
            logger('Camara no conectada, Favor Conectela');
        }

        function  viewVideo(video,context)
        {
            context.drawImage(video,0,0,context.width,context.height);
            socket.emit('stream',canvas.toDataURL('image/webp'));
        }

        $(function(){
            navigator.getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msgGetUserMedia);

            if (navigator.getUserMedia)
            {
                navigator.getUserMedia({video: true}, loadCam, loadFail);
            }
            //1000 = 1 Seg.

            setInterval(function(){
                viewVideo(video,context);
            },70);

        });
    </script>

</body>
</html>

谢谢,我将帮助您。

您需要将id "preview"更改为id="preview" ,然后可以继续进行下一个错误:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM