火狐浏览器中 WebRTC OfferToReceiveAudio 错误

4

我正在开发一个简单的示例来测试WebRTC,但我发现以下奇怪的行为。

在使用Chrome时,媒体限制被指定为:

mediaConstraints = {'mandatory': {'OfferToReceiveAudio':true, 'OfferToReceiveVideo':true}};

这段代码一切正常。

然而,在使用Firefox (35.0.1版本的Mac版)时,根据规范应该是:

mediaConstraints = {'offerToReceiveAudio':true,'offerToReceiveVideo':true};

但不起作用(Ice失败!)

使用“OfferToReceiveAudio

mediaConstraints = {'OfferToReceiveAudio':true,'offerToReceiveVideo':true};

运作正常。

这是官方文档所说明的行为吗?

2个回答

5

现在正确的格式为:

offerOptions = {'offerToReceiveAudio':true,'offerToReceiveVideo':true};

作为新的规范格式,它已被ChromeFirefox支持。请特别注意小写字母'o',因为这一点已经改变并且困扰了不少人。希望现在您已经使其正常工作。
还要注意,这些不再是“约束条件”,而只是“选项”。更简单了。

0

4
是的,那是旧方法。第二种是最后一个规范的新方法,Firefox 实现了它,但 Chrome 没有。 - Eduardo Sanchez
很奇怪你会遇到这个失败的错误。当我测试时,我只看到OfferToReceiveAudio或OfferToReceiveVideo已被弃用,应该使用offerToReceiveAudio或offerToReceiveVideo。在任何情况下,调用都不会失败... - Maxime Marchand
是的,调用没有失败,但后来我收到了“Ice failed”(与任何具体调用无关)的消息。 - Eduardo Sanchez
@MaximeMarchand - 很不幸,文档链接中的信息已经过时,并且最近已更新,至少在RTCofferOptions方面已经更新。 - jib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接