WebRTC+;Adapter.js在MS Edge中连接音频调用时出错

WebRTC+;Adapter.js在MS Edge中连接音频调用时出错,webrtc,microsoft-edge,ortc,sipml5,Webrtc,Microsoft Edge,Ortc,Sipml5,我正在尝试使用webrtc和adapter.js在MS edge中连接音频调用,但它为addremoteCandidate提供了错误超时。考虑发送候选人候补通知。>P/> 如前所述,我已尝试发送addIceCandidate(null),但它不起作用,或者可能是我发送错误。我在谷歌上搜索过,但是没有足够的文档 我的问题是我在哪里和如何发送 AddieCudiDATE(NULL)< /强>这样的适配器?JS会考虑它吗?< /P> 我的RTPEERCONNECTION代码 this.o_pc = n

我正在尝试使用webrtc和adapter.js在MS edge中连接音频调用,但它为addremoteCandidate提供了错误超时。考虑发送候选人候补通知。>P/> 如前所述,我已尝试发送addIceCandidate(null),但它不起作用,或者可能是我发送错误。我在谷歌上搜索过,但是没有足够的文档

我的问题是我在哪里和如何发送<强> AddieCudiDATE(NULL)< /强>这样的适配器?JS会考虑它吗?< /P> 我的RTPEERCONNECTION代码

this.o_pc = new window.RTCPeerConn(a && !a.length ? null : {
            iceServers: a, 
            rtcpMuxPolicy: "negotiate",
            iceTransportPolicy: "all",
            bundlePolicy: "balanced",
            iceCandidatePoolSize: 0
            //gatherPolicy: "all",

        }, this.o_media_constraints);
        this.o_pc.onicecandidate = tmedia_session_jsep01.mozThis ? tmedia_session_jsep01.onIceCandidate : function(e) {
            tmedia_session_jsep01.onIceCandidate(e, c);
        };
        this.o_pc.onnegotiationneeded = tmedia_session_jsep01.mozThis ? tmedia_session_jsep01.onNegotiationNeeded : function(e) {
            tmedia_session_jsep01.onNegotiationNeeded(e, c);
        };
        this.o_pc.onsignalingstatechange = tmedia_session_jsep01.mozThis ? tmedia_session_jsep01.onSignalingstateChange : function(e) {
            tmedia_session_jsep01.onSignalingstateChange(e, c);
        };
任何帮助都将不胜感激


谢谢

此警告表示您从未调用addIceCandidate(null)。 当另一端完成候选项收集时,即pc.onicecandidate(事件)称为event.candidate not set。然后您需要发送一条信令消息,如{type:'end of candidates'},这将导致在Edge中调用addIceCandidate(null)


如果您不这样做,adapter.js(或者更确切地说是Edge/ORTC shim)将在一段时间后为您这样做,但这远远不是最佳选择。

此警告表示您从未调用addIceCandidate(null)。 当另一端完成候选项收集时,即pc.onicecandidate(事件)称为event.candidate not set。然后您需要发送一条信令消息,如{type:'end of candidates'},这将导致在Edge中调用addIceCandidate(null)


如果您不这样做,adapter.js(或者更确切地说是Edge/ORTC shim)会在一段时间后为您这样做,但这远远不是最佳选择。

谢谢您的回答。如果您在MS edge上打开它,呼叫正在连接,但没有音频,是否与addIceCandidate(空)相关?这在除MS edge之外的所有浏览器(不是此版本)上都有效。谢谢回答。如果您在MS edge上打开它,呼叫正在连接,但没有音频,是否与addIceCandidate(空)相关?这适用于除MS edge之外的所有浏览器(不是此版本)。您可以参考关于添加候选端的内容。在中,它表示如果未指定候选对象,或其值为空,则使用候选对象结束a行将候选对象结束信号发送到远程对等方,格式如下:
a=候选对象结束
。嗨,我在safari上听不到音频,您认为这与此问题有关吗?您可以参考关于添加候选人末尾的内容。在中,它表示如果未指定候选对象,或其值为空,则使用候选对象结束a行将候选对象结束信号发送到远程对等方,格式如下:
a=候选对象结束
。您好,我无法在safari上听到音频,您认为这与此问题有关吗?
this.o_media_constraints = {
        audio: true
    };
    if (tsk_utils_get_navigator_friendly_name() == "firefox") {
        tmedia_session_jsep01.mozThis = this;
        this.o_media_constraints.mandatory.MozDontOfferDataChannel = true;
    }