Событие addstream RTCPeerConnection не запущено в firefox не сфокусировано или свернуто - PullRequest
2 голосов
/ 05 августа 2020

Кто-нибудь знает, почему событие addstream не работает, когда firefox не в фокусе или свернуто? Я использую библиотеку jssip 3.2. В chrome этого не происходит, и обратный вызов события выполняется с минимизацией chrome или без необходимости держать нужную вкладку в фокусе. Даже когда вкладка с кодом в firefox имеет фокус, событие запускается без проблем. Я работаю в программе, в которой на звонки отвечают автоматически. Когда есть входящий вызов в chrome, пользователь не должен ничего делать, чтобы он начал слушать звук вызывающего абонента.

У меня есть соответствующие разрешения, включенные в firefox (автоматически c аудио, микрофон , et c.)

Я безуспешно пытался попробовать различные настройки в about: config. Я безуспешно пробовал разные версии firefox.

заранее спасибо за вашу помощь.

Часть кода:

<!-- ... -->
<audio id="audio_remote" autoplay="autoplay"></audio>
  <!-- ... -->

  <script>
    var remoteAudio = document.getElementById("audio_remote");

    // ...

    var callOptions = {
      mediaConstraints: { audio: true, video: false },
      rtcOfferConstraints: {
        offerToReceiveAudio: 1,
        offerToReceiveVideo: 0,
        googIPv6: false,
      },
    };

    phone.on("newRTCSession", function (e) {
      var session = e.session;

      // ...

      if (session.direction === "incoming") {
        session.answer(callOptions);

        // this event is not fired in firefox non-focused or minimized 
        session.connection.addEventListener("addstream", function (e) {
          audio_remote.src = window.URL.createObjectURL(e.stream);
          audio_remote.play();
          console.log("addstream ok!");
        });
      }

      // ...
    });
  </script>
...