Firefox中的WebRTC OfferToReceiveAudio错误

时间:2015-02-04 14:33:11

标签: google-chrome firefox webrtc

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

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

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

工作正常。

然而,当使用Firefox(Mac上的 35.0.1 )时,根据规范它应该是:

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

但是不起作用(Ice失败了!)

使用“ O fferToReceiveAudio”

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

工作正常。

这是记录在案的行为吗?

2 个答案:

答案 0 :(得分:4)

正确的格式(现在)是:

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

因为这是新的spec format,并且ChromeFirefox都支持。

要特别注意小写字母,因为这确实发生了变化并且投掷了不止一些人。希望你现在已经开始工作了。

另请注意,这些不再是"约束",只是"选项"。简单。

答案 1 :(得分:0)

在这里的规格中:

https://developer.mozilla.org/en-US/docs/Web/Guide/API/WebRTC/WebRTC_basics

我看到约束应采用以下格式:

var constraints = {
    mandatory: {
        OfferToReceiveAudio: true,
        OfferToReceiveVideo: true
    }
};

Chrome仅支持该格式。

你可以参考这个讨论同样的问题:

WebRTC - getting 'malformed constraints object' from Chrome but not Firefox