我准备了一个摄像头流媒体应用程序,因此使用"navigator.mediaDevices.getUserMedia“在视频标签中预览了用户的摄像头。
当用户点击一个按钮,"RTCmulticonnection“打开一个房间后,我想添加预览摄像头/视频,用作摄像头流。
我就是不能让它工作。
我将向您展示的部分是在socket.io连接建立之后启动的-- "connection.open“方法还返回房间已创建且连接已建立。所以信令是有效的-我只是不知道如何简单地将我的视频附加到(RTCmulsiconnection)连接对象。
我曾尝试使用"attachStreams“方法,但仍未成功。
//Get Users Webcam
navigator.mediaDevices.getUserMedia({
audio: true,
video: true
}).then(function(stream) {
$("#mediaPreview").show();
let preview = document.getElementById('mediaPreviewVideo');
preview.srcObject = stream;
preview.volume = 0;
preview.play();
});
//Start stream
$("#btnMediaStreamStart").on('click', function(e) {
//Prevent Default & Hide
e.preventDefault();
//Add Classes
$("#mediaPreviewVideo").addClass('webcam-online');
$("#mediaStreamStatus").show().addClass('bg-success').html('<small><strong>Live</strong></small>');
connection.socketURL = 'localhost:9001/';
let connectionRoom = '123';
connection.open(connectionRoom, function(e) {
if (e === true) {
connection.attachStreams.forEach(function(localStream) {
//How to attach the cam stream? Is my previously created video even part of the "streams"?
});
connection.mediaConstraints = {
audio: {
deviceId: selectAudio
},
video: {
deviceId: selectVideo
}
};
}
});发布于 2020-04-09 12:34:56
尝试使用
connection.addStream(stream);其中,stream是您已经捕获的流-可能是通过getUserMedia()
https://stackoverflow.com/questions/55765296
复制相似问题