RTCmulticonnection使用现有的getUserMedia流

问题描述 投票:0回答:1

我准备了一个网络摄像头流媒体应用程序,因此使用“ navigator.mediaDevices.getUserMedia”在视频标签中预览了用户网络摄像头。

[用户单击按钮并通过“ RTCmulticonnection”打开房间后,我想添加预览网络摄像头/视频以用作网络摄像头流。

我只是不起作用。

Im将向您显示的部分在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
                        }
                    };
                }
            });

javascript socket.io stream webrtc rtcmulticonnection
1个回答
0
投票

尝试使用

connection.addStream(stream);

其中stream是您已经捕获的流-可能通过getUserMedia()

© www.soinside.com 2019 - 2024. All rights reserved.