детектор улыбки лица chrome расширение работает в фоновом режиме - PullRequest
0 голосов
/ 23 апреля 2020

Я использую face-api, чтобы создать расширение chrome, которое подсчитывает количество улыбок. Прямо сейчас у меня есть обнаружение и подсчет всего, что сделано во всплывающем окне. js. И это работает в расширении chrome, когда я нажимаю значок. Тем не менее, он только распознает лицо и подсчитывает количество улыбок, только когда нажата иконка и появляется всплывающее окно с камерой. В закрытом состоянии он перестает распознавать лицо. Но даже когда всплывающее окно закрыто, моя камера все еще включена.

Есть ли способ, чтобы продолжать обнаруживать и подсчитывать количество улыбок, которые я делаю, с закрытым всплывающим окном, и во всплывающем окне будет отображаться только количество улыбок при нажатии на значок?

Я попытался переместить мой код обнаружения в фоновый режим и отправить сообщение о количестве улыбок при нажатии значка во всплывающем окне, однако я думаю, что browserAction.onClicked.addListener не работает с всплывающими окнами. Также мой фоновый код не регистрирует результаты, возможно, потому что нет данных камеры?

Это мой фоновый код

function startVideo() {   navigator.getUserMedia(
    { video: {} },
    stream => (video.srcObject = stream),
    err => console.error(err)   ); } video.addEventListener("playing", () => {   const canvas = faceapi.createCanvasFromMedia(video);   document.body.append(canvas); 
  const displaySize = { width: video.width, height: video.height };   faceapi.matchDimensions(canvas, displaySize);

  setInterval(async () => {
    const detections = await faceapi
      .detectAllFaces(video, new faceapi.TinyFaceDetectorOptions())
      .withFaceLandmarks()

...

Дайте мне знать, что Я могу сделать, спасибо!

...