|
@@ -80,10 +80,15 @@ export default {
|
|
},
|
|
},
|
|
async mounted() {
|
|
async mounted() {
|
|
this.openCamera();
|
|
this.openCamera();
|
|
|
|
+
|
|
|
|
+ this.checkFaceDetectorTimeout = setTimeout(() => {
|
|
|
|
+ this.nativeFaceDetectorStats();
|
|
|
|
+ }, 60 * 1000);
|
|
},
|
|
},
|
|
beforeDestroy() {
|
|
beforeDestroy() {
|
|
clearTimeout(this.retrySnapTimeout);
|
|
clearTimeout(this.retrySnapTimeout);
|
|
clearTimeout(this.showSnapResultTimeout);
|
|
clearTimeout(this.showSnapResultTimeout);
|
|
|
|
+ clearTimeout(this.checkFaceDetectorTimeout);
|
|
if (this.$refs.video.srcObject) {
|
|
if (this.$refs.video.srcObject) {
|
|
this.$refs.video.srcObject.getTracks().forEach(function(track) {
|
|
this.$refs.video.srcObject.getTracks().forEach(function(track) {
|
|
track.stop();
|
|
track.stop();
|
|
@@ -487,6 +492,44 @@ export default {
|
|
throw e.message;
|
|
throw e.message;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ async nativeFaceDetectorStats() {
|
|
|
|
+ // 如果不存在 window.FaceDetector ,则不统计。chrome 76+ 在win7上是有window.FaceDetector的,但是不能执行成功。
|
|
|
|
+ if (!window.FaceDetector) {
|
|
|
|
+ window._hmt.push([
|
|
|
|
+ "_trackEvent",
|
|
|
|
+ "摄像头框",
|
|
|
|
+ "native FaceDetector",
|
|
|
|
+ "没有能力",
|
|
|
|
+ ]);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ var canvas = document.createElement("canvas");
|
|
|
|
+ canvas.width = 220;
|
|
|
|
+ canvas.height = 165;
|
|
|
|
+
|
|
|
|
+ var context = canvas.getContext("2d");
|
|
|
|
+ context.drawImage(this.$refs.video, 0, 0, 220, 165);
|
|
|
|
+ var f = new window.FaceDetector();
|
|
|
|
+ const v = await f.detect(canvas);
|
|
|
|
+ console.log("nativeFaceDetector", v);
|
|
|
|
+ window._hmt.push([
|
|
|
|
+ "_trackEvent",
|
|
|
|
+ "摄像头框",
|
|
|
|
+ "native FaceDetector",
|
|
|
|
+ "成功",
|
|
|
|
+ ]);
|
|
|
|
+ } catch (e) {
|
|
|
|
+ console.log(e);
|
|
|
|
+ window._hmt.push([
|
|
|
|
+ "_trackEvent",
|
|
|
|
+ "摄像头框",
|
|
|
|
+ "native FaceDetector",
|
|
|
|
+ "失败",
|
|
|
|
+ ]);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|