WebRTC - 仅来自一个对等体的流

时间:2015-12-15 12:05:12

标签: html5 webrtc getusermedia

我制作了简单的WebRTC应用程序,我认为我了解WebRTC框架。我想为我的应用添加新功能,只允许一个用户共享音频/视频,而第二个用户不共享视频和音频。

我该怎么做?标准机制会有什么区别?

3 个答案:

答案 0 :(得分:2)

为此,标准机制没有区别。在为getUserMedia()指定约束时,您可以指定{video: false}{audio: true}。我认为您至少需要音频,视频或数据才能创建SDP优惠。如果没有,那么只需创建一个SDP答案而不附加任何流。

连接后,您只需使用MediaStreamgetAudioTracks() / getVideoTracks()停用流的音频/视频曲目即可。每个轨道都有enabled属性,可以设置为true或false。

答案 1 :(得分:1)

请勿获取MediaStream,也不要为您不想分享其视频/音频的用户拨打peerConnection.addStream()

如果你这样做有一个条件。 您必须将此约束添加到peerConnection.createOffer

火狐:

{ offerToReceiveVideo: true, offerToReceiveAudio: true }

铬:

{mandatory: { OfferToReceiveAudio: true, OfferToReceiveVideo: true }}

您应该在创建商品时提供此约束,因为默认情况下,它会提供仅接收您添加的流。

答案 2 :(得分:0)

要动态决定谁只发送媒体并且只接收媒体,你可以使用SDP属性a = sendonly,a = recvonly用于相应的媒体发信号或在双方之间协商。