RTCMultiConnection 回到当前流
RTCMultiConnection get back to current stream
我正在使用 RTCMultiConnection v3 插件,我不知道如何重新打开当前流。
场景;
UserA 打开 cam,自动将流附加到 $("#webcam")
。流已打开。
UserA 想加入 UserB 并做了 connection.join("UserB")
(假装 UserB 也有一个视频流)。现在这个 html()
到 $("#webcam")
所以 UserA ``$("#webcam")` 被 UserB 流覆盖,但 UserA 流是实时的。到目前为止一切顺利。
现在我想像 UserA 那样重新附加 UserA 流 connection.join("UserA")
他自己的流。
我希望有人知道该怎么做?
我不想重新打开整个流。
The person who opens a room, must NOT join same room.
您可以使用以下方法访问视频 (media-streams):
1) 如果您知道通常命名为 "stream-id"
的 "video-id"
var streamEvent = connection.streamEvents['stream-id'];
var mediaStreamObject = streamEvent.stream;
var videoFreshURL = URL.createObjectURL(mediaStreamObject);
yourVideo.src = videoFreshURL;
2) 如果您知道远程用户的 Unique-ID 通常命名为 "userid"
var userPeer = connection.peers['user-id'].peer;
var allIncomingVideos = userPeer.getRemoteStreams();
var firstIncomingVideo = allIncomingVideos[0];
var firstVideoFreshURL = URL.createObjectURL(firstIncomingVideo);
yourVideo.src = firstVideoFreshURL;
3) 将事件视频存储在您自己的对象中
window.yourOwnGlobalObject = {};
connection.onstream = function(event) {
window.yourOwnGlobalObject[event.userid] = event;
document.body.appendChild( event.mediaElement );
};
function getUserXYZVideo(userid) {
var userVideo = window.yourOwnGlobalObject[userid].mediaElement;
// var userStream = window.yourOwnGlobalObject[userid].stream;
return userVideo;
}
我正在使用 RTCMultiConnection v3 插件,我不知道如何重新打开当前流。
场景;
UserA 打开 cam,自动将流附加到 $("#webcam")
。流已打开。
UserA 想加入 UserB 并做了 connection.join("UserB")
(假装 UserB 也有一个视频流)。现在这个 html()
到 $("#webcam")
所以 UserA ``$("#webcam")` 被 UserB 流覆盖,但 UserA 流是实时的。到目前为止一切顺利。
现在我想像 UserA 那样重新附加 UserA 流 connection.join("UserA")
他自己的流。
我希望有人知道该怎么做? 我不想重新打开整个流。
The person who opens a room, must NOT join same room.
您可以使用以下方法访问视频 (media-streams):
1) 如果您知道通常命名为 "stream-id"
的 "video-id"var streamEvent = connection.streamEvents['stream-id'];
var mediaStreamObject = streamEvent.stream;
var videoFreshURL = URL.createObjectURL(mediaStreamObject);
yourVideo.src = videoFreshURL;
2) 如果您知道远程用户的 Unique-ID 通常命名为 "userid"
var userPeer = connection.peers['user-id'].peer;
var allIncomingVideos = userPeer.getRemoteStreams();
var firstIncomingVideo = allIncomingVideos[0];
var firstVideoFreshURL = URL.createObjectURL(firstIncomingVideo);
yourVideo.src = firstVideoFreshURL;
3) 将事件视频存储在您自己的对象中
window.yourOwnGlobalObject = {};
connection.onstream = function(event) {
window.yourOwnGlobalObject[event.userid] = event;
document.body.appendChild( event.mediaElement );
};
function getUserXYZVideo(userid) {
var userVideo = window.yourOwnGlobalObject[userid].mediaElement;
// var userStream = window.yourOwnGlobalObject[userid].stream;
return userVideo;
}