【问题标题】:RTCPeerConnection.setLocalDescription only works in ChromeRTCPeerConnection.setLocalDescription 仅适用于 Chrome
【发布时间】:2020-05-04 04:16:38
【问题描述】:

我有一个项目正在使用 WebRTC 在对等点之间建立连接并发送文件。我正在处理旧代码,但它目前在 Chrome 中工作。我无法让它在 Firefox 中运行,并且无法确定问题所在。

这是我的代码:

this.connection = new RTCPeerConnection(config);
...
const desc = await this.connection.createOffer();
this.localConnection.setLocalDescription(desc);
console.log('local description', this.localConnection.localDescription);

对于this.localConnection.localDescription的值:

  • 镀铬打印RTCSessionDescription {type: "offer", sdp: ...}
  • Firefox 打印 null

我做错了什么?

【问题讨论】:

  • 您使用的是webrtc-adapter 包吗?
  • 我不是,但根据developer.mozilla.orgRTCPeerConnectioncreateOffersetLocalDescription,Chrome和Firefox都完全支持。所以我觉得我不需要兼容适配器?
  • 我认为问题出在 setLocalDescription 方法上,我会尝试使用 await。 await this.localConnection.setLocalDescription(desc);
  • Eyyy,这行得通。很好的收获,谢谢!
  • 很高兴能帮上忙,如果您不介意,我会作为答案。

标签: javascript firefox cross-browser webrtc


【解决方案1】:

我认为问题在于 setLocalDescription 方法,它可能不会立即在 Firefox 中设置,我会尝试使用 await:

await this.localConnection.setLocalDescription(desc);
console.log('local description', this.localConnection.localDescription);

【讨论】:

    猜你喜欢
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 2017-09-16
    • 2015-05-19
    • 2019-03-29
    • 1970-01-01
    相关资源
    最近更新 更多