有谁知道为什么当 Firefox 失焦或最小化时 addstream 事件不起作用?我正在使用 jssip 3.2 库。在 chrome 中,这不会发生,并且事件回调是在 chrome 被最小化或不需要有问题的选项卡的情况下执行的。即使Firefox中带有代码的选项卡具有焦点,也可以毫无问题地触发事件。我在一个自动应答呼叫的程序中工作。当 chrome 中有来电时,用户不得为它开始收听来电者的音频做任何事情。
我在firefox中启用了相应的权限(自动音频、麦克风等)
我尝试在 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>