0

使用最新版本的 simple-peer (^9.11.0")。

使用反应前端。

根据官方文档(https://www.npmjs.com/package/simple-peer)和(https://github.com/feross/simple-peer),明确提到,我们可以通过添加track

peer.addTrack(track, stream);

下面是我将共享屏幕媒体轨道添加到现有对等点的代码:

navigator.mediaDevices.getDisplayMedia({ cursor: true, video:true, audio: {restrictOwnAudio: true,}}).then(stream => {
            const screenTrack = stream.getTracks()[0];
            console.log("screenTrack", screenTrack);
            for (let [peer_name, value] of Object.entries(peerlistRef.current)) {
                console.log("peer :", peer_name, "value", value);
                
                console.log("before adding", peerlistRef.current[peer_name].streams[0].getTracks())
                console.log("before adding", peerlistRef.current[peer_name].streams)
                console.log("peerlistRef.current[peer_name]", peer_name, peerlistRef.current[peer_name])
                console.log("stream.getVideoTracks()", stream.getVideoTracks());
                peerlistRef.current[peer_name].addTrack(stream.getVideoTracks()[0], stream)

                console.log("after adding", peerlistRef.current[peer_name].streams[0].getTracks())


                
            }
            

        }) 

添加曲目 ( peer.addTrack(stream.getVideoTracks()[0], stream)) 不起作用。但是,更换轨道有效!任何建议/帮助表示赞赏。

4

0 回答 0