gpt4 book ai didi

javascript - Firefox 中的 WebRTC 事件

转载 作者:行者123 更新时间:2023-11-29 18:42:16 24 4
gpt4 key购买 nike

我在 Chrome 中有一个可用的 WebRTC 连接。它使用 1 个数据通道作为聊天应用程序的一部分。

我也想支持 Firefox,因此我需要更改一些不支持的事件:对于 RTCPeerConnection以及 DataChannel .

对数据通道的更改按预期工作:

    //chrome implenetation
dc.onopen = this.conncectionStats.bind(this);
dc.onmessage = onMessage;
// chrome and firefox
dc.addEventListener('open', (event) => {
this.conncectionStats.bind(this)
});
dc.addEventListener('message', (event) => {
onMessage(event)
});

但是,当更改 PeerConnection 时出现问题:

    // chrome implenetation
pc.onconnectionstatechange = this.onConnectionStateChange.bind(this);
// chrome and firefox
pc.addEventListener('onconnectionstatechange', (event) => {
console.log("onconnectionstatechange fired")
this.onConnectionStateChange.bind(this);
})

事件永远不会发生。知道为什么会这样吗?

事件应该是correct ,但另一方面,MDN Web Docs 上缺少文档.

最佳答案

您应该使用 WebRTC 适配器,以便为您填充不支持的事件: https://github.com/webrtc/adapter

我在我的网页上使用它,onconnectionstatechange 在 Firefox 中可以正常触发:

...
pc.onconnectionstatechange = onConnStateChange;
...

function onConnStateChange(event) {
if (pc.connectionState === "failed") {
Terminate();
alert("Connection failed; playback stopped");
}
}

关于javascript - Firefox 中的 WebRTC 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56173342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com