2017-03-01 35 views
2

我試圖執行此代碼:ImageCapture中沒有定義

const canvas = document.querySelector('canvas'); 
 

 
var interval; 
 
var track; 
 

 
navigator.mediaDevices.getUserMedia({video: true}) 
 
.then(gotMedia) 
 
.catch(err => console.error('getUserMedia() failed: ', err)); 
 

 
function gotMedia(mediastream) { 
 
    track = mediastream.getVideoTracks()[0]; 
 
    var imageCapture = new ImageCapture(track); 
 
    interval = setInterval(function() { 
 
     imageCapture.grabFrame() 
 
     .then(processFrame) 
 
     .catch(err => console.error('grabFrame() failed: ', err)); 
 
    }, 1000); 
 
} 
 

 
function processFrame(imgData) { 
 
    canvas.width = imgData.width; 
 
    canvas.height = imgData.height; 
 
    canvas.getContext('2d').drawImage(imgData, 0, 0); 
 
} 
 

 
function stopGrabFrame(e) { 
 
    clearInterval(interval); 
 
    track.stop(); 
 
}

採取從我的攝像頭直播視頻快照,但它不能與瀏覽器的控制檯說,以下:

getUserMedia()失敗:的ReferenceError:ImageCapture中未在gotMedia

定義

這是否意味着我的網絡瀏覽器(Google Chrome)不支持ImageCapture?我可以修復它嗎?

+0

從哪裏獲得'ImageCapture'?這是你正在使用的圖書館嗎? – caisah

+0

嗨@caisah我沒有從任何地方包括它。這裏是來源:https://www.w3.org/TR/image-capture/#repeated-grabbing-of-a-frame。他們似乎沒有包括任何東西。 –

+0

對。你有沒有嘗試在其他borwsers?我沒有在任何地方找到它的文檔。 – caisah

回答