1
我在使用Affectiva的新JS SDK(http://developer.affectiva.com/v3_1/javascript/analyze-frames/)時遇到問題,特別是在幀檢測器模式下。我沒有任何問題讓CameraFeed版本&運行,他們甚至在JSFiddle上有一個很好的例子()。但是幀檢測器模式給了我上百個來自Web Worker的「運行時錯誤」。使用Affectiva JS SDK(幀檢測器模式)的錯誤
<body class='session'>
<div class='col-md-8' id='affdex_elements' style='width:680px;height:480px;'>
<video autoplay id='video'></video>
<canvas id='canvas'></canvas>
</div>
<div id='results' style='word-wrap:break-word;'></div>
<div id='logs'></div>
<script src="https://download.affectiva.com/js/3.1/affdex.js"></script>
<script>
var width = 640;
var height = 480;
var faceMode = affdex.FaceDetectorMode.LARGE_FACES;
var detector = new affdex.FrameDetector(faceMode);
detector.addEventListener("onInitializeSuccess", function() {
console.log('Detector reports initialized.');
// Start with first capture...
captureImage();
});
detector.addEventListener("onImageResultsSuccess", function (faces, image, timestamp) {
console.log(faces);
captureImage();
});
detector.addEventListener("onImageResultsFailure", function (image, timestamp, err_detail) {
console.log(err_detail);
captureImage();
});
detector.detectAllExpressions();
detector.detectAllEmotions();
detector.detectAllEmojis();
detector.detectAllAppearance();
detector.start();
var v = document.getElementById('video');
var c = document.getElementById('canvas');
var t = c.getContext('2d');
c.width = width;
c.height = height;
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;
if (navigator.getUserMedia) {
navigator.getUserMedia({video: true}, handleVideo, videoError);
}
function handleVideo(stream) { v.src = window.URL.createObjectURL(stream); }
function videoError(e) { console.log(e); }
function captureImage() {
console.log('Capturing...');
t.clearRect(0, 0, c.width, c.height);
t.drawImage(v, 0, 0, width, height);
var imgData = t.getImageData(0, 0, c.width, c.height);
var currentTimeStamp = (new Date()).getTime()/1000;
detector.process(imgData, currentTimeStamp);
}
</script>
我已經刪除任何非必要的只是去一個簡單的工作示例。再次,我沒有問題運行此CameraFeed版本。只是這個不起作用。我錯過了一些愚蠢的東西嗎?文檔有點輕...
好想法。這就是他們在代碼中的做法,我認爲這純粹是爲了內部一致性而不是溢出問題。我會嘗試並報告。 – Nuby
我不敢相信這工作!你不知道我一直在試圖追蹤這個問題多久......如果沒有你,我永遠都不會知道。謝謝! – Nuby