Ich versuche, ein Streaming-Video für ein Projekt zu erstellen, ich erstelle in node.js einschließlich HTML, und ich kann nicht durch diesen Fehler Uncaught TypeError: Can not read property 'getContext' of null
beendenUncaught TypeError: Kann Eigenschaft 'getContext' von null nicht lesen Node.js
dann brauche ich das Problem zu beheben, aber ich kann nicht, weil ich suchte Lösungen und diese Art von Fehlern, aber keiner funktioniert für mich nur Problem zu umgehen ich auf diesen Linien zu kommentieren hatte:
var context = canvas.getContext("2d");
canvas.width = 800;
canvas.height = 600;
context.width = canvas.width;
context.height = canvas.height
Hier die Codes meines Projektes: 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>
Dank ich werde apreciate hilft.
Es gibt mehrere Tippfehler, zum Beispiel das Gleichheitszeichen in fehlt '
Sie vergaßen ein '=' bei 'id" Vorschau "'. Daher gibt es kein Element mit der ID 'preview' im DOM und' document.getElementById ("preview") 'gibt null zurück. Abgesehen davon ist die Frage nicht mit 'node.js' verbunden. –
Ich bin mir ziemlich sicher, dass Sie das Attribut 'id' falsch eingegeben haben. 'id" preview "' sollte 'id =" preview "' – goenning