2016-04-08 44 views
0

Bir proje için akış videosu oluşturmaya çalışıyorum, html dahil node.js dosyasında oluşturuyorum ve bu hatayla bitiremiyorum Uncaught TypeError: Can not read property 'getContext' of nullYakalanmamış TypeError: 'getContext' özelliği okunamıyor Node.js

sonra o sorunu düzeltmek gerekir, ama ben çözüm yanılma bu tür aranan olamaz çünkü ancak hiçbiri bu satırlar yorum vardı sadece konuyu çalışmak benim için çalışıyor:

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

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

     context.width = canvas.width; 
     context.height = canvas.height 
benim proyect

İşte kodlar: i apreciate olacak 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> 

teşekkürler yardımcı olur.

+1

birkaç yazım hataları eşittir işareti 'eksik örneğin var adeneo

+0

bir '=' de 'id unuttum'. DOM ve 'document.getElementById ("önizleme") olarak id' preview' ile eleman olmadığını itibariyle 'null döndürür. sorusu ile ilişkili olmadığı yanında ' –

+0

node.js' sana' id' niteliğini yanlış yazmış eminim. ' "Önizleme"' kimliği olmalıdır 'id = "önizleme"' – goenning

cevap

0

Sen, o zaman bir sonraki hata :) olacak ne olursa olsun geçebiliriz id "preview"id="preview" değiştirmek gerekir

İlgili konular