管理员是否可以使用 RTCMultiConnection#V3 访问用户的网络摄像头
Is it possible to access user's webcam by admin using RTCMultiConnection#V3
我正在创建 Audio/Video/Text 聊天应用程序。我已成功完成视频会议功能。但我对未经用户许可访问用户的网络摄像头一无所知。
我真正想要做的是管理员可以访问用户的网络摄像头。我已经创建了在线用户列表。当管理员单击在线用户的按钮 Watch
时,管理员应该能够访问用户的网络摄像头,以便管理员可以从该特定用户的网络摄像头看到。
谁能指导我这样做吗?
超级管理员可以查看所有房间,从任何房间获取任何用户的视频。
您可以使用 socket.io 或 PHP/mySQL 与超级管理员共享房间。
超级管理员可以使用"join"方法查看任何用户的视频:
var selectedUserId = database.getSelectedUserId();
connection.join(selectedUserId);
超级管理员必须设置 "dontCaptureUserMedia=true" 以确保他不共享自己的相机。这意味着超级管理员可以从任何房间无缝查看任何用户的视频。
connection.dontCaptureUserMedia = true;
var selectedUserId = database.getSelectedUserId();
connection.join(selectedUserId);
查看如何 send or receive custom messages using socket.io and try a demo as well。
这里是超级管理员的示例代码:
connection.socketCustomEvent = 'super-admin-socket';
connection.dontCaptureUserMedia = true;
connection.connectSocket(function() {
connection.socket.on(connection.socketCustomEvent, function(message) {
if (message.newUser === true) {
connection.join(message.userid);
}
});
});
这里是所有普通用户的代码。即来自任何房间的任何用户:
connection.socketCustomEvent = 'super-admin-socket';
connection.openOrJoin('any-room-id', function() {
// this message is going toward super-admin
// super-admin will receive this message
// super-admin can view this user's camera seamlessly
// or show his name in a list
connection.socket.emit(connection.socketCustomEvent, {
newUser: true,
userid: connection.userid
});
});
查看如何与超级管理员共享房间:
以下代码适用于普通用户:
connection.socketCustomEvent = 'super-admin-socket';
connection.openOrJoin('any-room-id', function() {
// check if it is a room owner
if (connection.isInitiator === true) {
// room owner is sharing his room with super-adin
connection.socket.emit(connection.socketCustomEvent, {
newRoom: true,
roomid: connection.sessionid
});
}
});
以下代码适用于超级管理员:
connection.socketCustomEvent = 'super-admin-socket';
connection.dontCaptureUserMedia = true;
connection.connectSocket(function() {
connection.socket.on(connection.socketCustomEvent, function(message) {
if (message.newUser === true) {
connection.join(message.userid);
}
if (message.newRoom === true) {
// display room in a list
// or view room owner's video
connection.join(message.roomid);
}
});
});
结论:
Super admin must have userid
from any user to view his video.
我正在创建 Audio/Video/Text 聊天应用程序。我已成功完成视频会议功能。但我对未经用户许可访问用户的网络摄像头一无所知。
我真正想要做的是管理员可以访问用户的网络摄像头。我已经创建了在线用户列表。当管理员单击在线用户的按钮 Watch
时,管理员应该能够访问用户的网络摄像头,以便管理员可以从该特定用户的网络摄像头看到。
谁能指导我这样做吗?
超级管理员可以查看所有房间,从任何房间获取任何用户的视频。
您可以使用 socket.io 或 PHP/mySQL 与超级管理员共享房间。
超级管理员可以使用"join"方法查看任何用户的视频:
var selectedUserId = database.getSelectedUserId();
connection.join(selectedUserId);
超级管理员必须设置 "dontCaptureUserMedia=true" 以确保他不共享自己的相机。这意味着超级管理员可以从任何房间无缝查看任何用户的视频。
connection.dontCaptureUserMedia = true;
var selectedUserId = database.getSelectedUserId();
connection.join(selectedUserId);
查看如何 send or receive custom messages using socket.io and try a demo as well。
这里是超级管理员的示例代码:
connection.socketCustomEvent = 'super-admin-socket';
connection.dontCaptureUserMedia = true;
connection.connectSocket(function() {
connection.socket.on(connection.socketCustomEvent, function(message) {
if (message.newUser === true) {
connection.join(message.userid);
}
});
});
这里是所有普通用户的代码。即来自任何房间的任何用户:
connection.socketCustomEvent = 'super-admin-socket';
connection.openOrJoin('any-room-id', function() {
// this message is going toward super-admin
// super-admin will receive this message
// super-admin can view this user's camera seamlessly
// or show his name in a list
connection.socket.emit(connection.socketCustomEvent, {
newUser: true,
userid: connection.userid
});
});
查看如何与超级管理员共享房间:
以下代码适用于普通用户:
connection.socketCustomEvent = 'super-admin-socket';
connection.openOrJoin('any-room-id', function() {
// check if it is a room owner
if (connection.isInitiator === true) {
// room owner is sharing his room with super-adin
connection.socket.emit(connection.socketCustomEvent, {
newRoom: true,
roomid: connection.sessionid
});
}
});
以下代码适用于超级管理员:
connection.socketCustomEvent = 'super-admin-socket';
connection.dontCaptureUserMedia = true;
connection.connectSocket(function() {
connection.socket.on(connection.socketCustomEvent, function(message) {
if (message.newUser === true) {
connection.join(message.userid);
}
if (message.newRoom === true) {
// display room in a list
// or view room owner's video
connection.join(message.roomid);
}
});
});
结论:
Super admin must have
userid
from any user to view his video.