0

我目前正在开发一个名为 Affdex 的 Affectiva 技术项目。我目前正在参与测试 SDK 的评估。我已经建立了一个简单的网站,但是这个 HTML 按钮似乎什么也没做。现在,做一些测试,我看到以下内容:

-第一次尝试:将SDK作为JS文件下载到本地。结果是,在 Web 浏览器控制台中,该按钮不执行任何操作,空白,但不是在函数中执行 SDK 的代码并替换为 JS 警报,而是有效。

-第二次尝试:远程引用,我收到一个错误,上面写着:“未定义未捕获的引用错误 onStart”这对我来说很奇怪,因为假设我尝试更改引用顺序,我无法弄清楚发生了什么。

所以,我现在要附上我的代码:-HTML:

<!DOCTYPE html>
<html>
<head>
	<title>HOME</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
	<script type="text/javascript" src="affdex.js"></script>
	<script type="text/javascript" src="detector.js"></script>
</head>
<body>
	<button id="start" onclick="onStart()">Start</button>
</body>
</html>

以防万一远程SDK应该是:

<script src="https://download.affectiva.com/js/3.2/affdex.js"/>

最后是我的 JS 文件,它应该使网站至少在控制台中与 SDK 互补:

var divRoot = $("#affdex_elements")[0];

var width = 640;

var height = 480;

var faceMode = affdex.FaceDetectorMode.LARGE_FACES;

var detector = new affdex.CameraDetector(divRoot, width, height, faceMode);

detector.detectAllExpressions();

detector.addEventListener("onInitializeSuccess", function() {
    log('#logs', "The detector reports initialized");
    $("#face_video_canvas").css("display", "block");
    $("#face_video").css("display", "none");
});

function log(node_name, msg) {
    $(node_name).append("<span>" + msg + "</span><br />")
}

function onStart() {
    if (detector && !detector.isRunning) {
      $("#logs").html("");
      detector.start();
    }
    log('#logs', "Clicked the start button");
}

detector.addEventListener("onWebcamConnectSuccess", function() {
    log('#logs', "Webcam access allowed");
});

detector.addEventListener("onWebcamConnectFailure", function() {
    log('#logs', "webcam denied");
    console.log("Webcam access denied");
});

detector.addEventListener("onStopSuccess", function() {
    log('#logs', "The detector reports stopped");
    $("#results").html("");
});

4

2 回答 2

0

好的,这就是我几乎修复了一些演示的方式。我发现您必须远程使用 SDK 而不是因为依赖关系而自己托管它。

不知何故,文档忘记了他们的 SDK 的结束标记。好吧,至少这对我来说是这样的。

希望这可以帮助。

于 2018-05-14T22:16:08.657 回答
0

看起来你可能是基于相机馈送演示。如果是这样,您可能需要在 html 正文标记之后而不是头部包含您的脚本 (detector.js)。

您将需要使用 SDK 的托管版本<script src="https://download.affectiva.com/js/3.2/affdex.js"/>

于 2018-05-14T16:43:00.837 回答