Windows runtime UWP的Nuget WebRTC

Windows runtime UWP的Nuget WebRTC,windows-runtime,windows-10,uwp,webrtc,windows-10-universal,Windows Runtime,Windows 10,Uwp,Webrtc,Windows 10 Universal,我正在使用nuget,但有一个问题。 所以,我想打视频电话,我应该: 创建报价(sdp) 发盘 另一个客户端接收报价并生成答案并发送给第一个 通话开始 如果第一个客户端没有摄像头(视频设备),它将仅为音频生成报价(sdp),因此从一开始就不能使用视频进行呼叫:( 我如何可以忽略这一步,生成视频,但只有一种方式 UPD:我创建对等连接的代码: var configuration = new RTCConfiguration(); configuration.IceServers = this.G

我正在使用nuget,但有一个问题。 所以,我想打视频电话,我应该:

  • 创建报价(sdp)
  • 发盘
  • 另一个客户端接收报价并生成答案并发送给第一个
  • 通话开始
  • 如果第一个客户端没有摄像头(视频设备),它将仅为音频生成报价(sdp),因此从一开始就不能使用视频进行呼叫:( 我如何可以忽略这一步,生成视频,但只有一种方式

    UPD:我创建对等连接的代码:

    var configuration = new RTCConfiguration();
     configuration.IceServers = this.GetIceServers();
     this.PeerConnection = new RTCPeerConnection(configuration);
     this.LocalStream = await RtcManager.Instance.Media.GetUserMedia(new                
                RTCMediaStreamConstraints
                {
                    videoEnabled = true,
                    audioEnabled = true
                });
    
     this.PeerConnection.AddStream(this.LocalStream);
    
     var sessionOfferDescription = await this.PeerConnection.CreateOffer();
    

    sessionOfferDescription
    变量具有
    Sdp
    属性,此属性仅包含音频:“a=group:BUNDLE audio”

    如果要接收视频,请使用“offerToReceiveVideo:true”通知库在创建peerconnection时,请遵守您的限制。这非常有效,即使未向连接添加视频流,远程端仍将发送视频流(如果在该端添加)。将offerToReceiveAudio和/或offerToReceiveVideo设置为true,再加上在远程端添加流,会导致流被发送,而不管是否在本地端添加了流。@Kevin,谢谢,但在此库中我没有找到这些属性(
    offerToReceiveVideo
    offerToReceiveAudio
    )。你是指我在问题中提到的当前nuget吗?我不是说你的具体实现,WebRTC在设置peerconnection时使用了一个约束参数。你可以为你的连接传入一系列连接约束,offerToReceiveVideo和offerToReceiveAudio只是你可以用来创建你的co的键连接。如果你不提供任何代码,就很难进一步帮助你,不要解释你已经尝试了什么以及出了什么问题…@Kevin,对不起,但我认为任何代码都帮不了你,因为我没有库代码。我在Answer中添加了代码似乎没问题,你确定你在这样设置连接时没有收到视频吗?当你r报盘应答序列完成后,onAddStream是否在主叫方被调用?您是否在被叫方调用addStream?在添加到被叫方之前,您是否向流中添加了视频曲目?忽略您的报盘SDP中的内容,这并不重要。只需检查您是否正确添加了流以及是否调用了onAddStream。如果您想接收在创建peerconnection时,请在约束条件中使用“offerToReceiveVideo:true”来告诉lib。这非常有效,即使未向连接添加视频流,远程端仍将发送视频流(如果在该端添加)。将offerToReceiveAudio和/或offerToReceiveVideo设置为true,再加上在远程端添加流,会导致流被发送,而不管是否在本地端添加了流。@Kevin,谢谢,但在此库中我没有找到这些属性(
    offerToReceiveVideo
    offerToReceiveAudio
    )。你是指我在问题中提到的当前nuget吗?我不是说你的具体实现,WebRTC在设置peerconnection时使用了一个约束参数。你可以为你的连接传入一系列连接约束,offerToReceiveVideo和offerToReceiveAudio只是你可以用来创建你的co的键连接。如果你不提供任何代码,就很难进一步帮助你,不要解释你已经尝试了什么以及出了什么问题…@Kevin,对不起,但我认为任何代码都帮不了你,因为我没有库代码。我在Answer中添加了代码似乎没问题,你确定你在这样设置连接时没有收到视频吗?当你r报盘应答序列完成后,onAddStream是否在主叫方被调用?您是否在被叫方调用addStream?在添加到被叫方之前,您是否在流中添加了视频曲目?忽略您的报盘SDP中的内容,这并不重要。只需检查您是否正确添加流以及是否调用了onAddStream。