ApiRTC中的meshModeEnabled和meshOnlyEnabled属性可以用于控制WebRTC连接的行为。当meshModeEnabled设置为true时,会启用网状连通性,这意味着每个客户端都可以通过多个媒体路径到达另一个客户端。当meshOnlyEnabled设置为true时,仅使用网状媒体路径,而不使用点对点路径。
下面是设置这些属性的代码示例:
var cloud = ApizeeRTC.createCloudAPI({domain: "DOMAIN_NAME"});
var localStream = ApizeeRTC.createStream({video : true, audio : true});
var meshModeEnabled = true;
var meshOnlyEnabled = true;
var rtc = cloud.createRTC({
listeners: { // Listener functions
streamAdded: function (remoteStream) {
// A remote stream has been added
},
streamRemoved: function (remoteStream) {
// A remote stream has been removed
}
},
mediaConfiguration: { // Media configuration
audioFallbackEnabled: true, // Audio fallback enabled if video is paused
videoCodec: 'VP9', // Video codec
audioCodec: 'OPUS', // Audio codec
resolution: 'HD' // Video resolution
},
meshModeEnabled: meshModeEnabled,
meshOnlyEnabled: meshOnlyEnabled
});
rtc.joinRoom("ROOM_ID", localStream, function (room) {
// You have joined a room
});
在上面的示例中,我们首先使用ApizeeRTC.createCloudAPI()创建了一个云实例,然后创建了一个本地流。接下来,我们设置了meshModeEnabled和meshOnlyEnabled属性,并使用这些属性创建了一个RTC实例。最后,我们使用rtc.joinRoom()加入了一个房间。
注意,使用Mesh模式可能会导致大量数据流,因此应该在需要时使用它。同时,Mesh Only模式可用于在某些情况下更好地控制数据流量和质量。