导航器未定义

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

我正在使用 Reactjs 和 Nodejs 开发一个流项目。我使用peerjs和Webrtc来实现流功能,并且经常遇到“导航器未定义”的问题。

我不知道如何解决它。

const myPeer = new Peer(未定义, { 主持人: ”/”, 端口:“3002”, });

常量streamBlock = useRef(null)

useEffect(() => { if (窗口类型!== '未定义') { const room = window.location.pathname.split('/')[1]; const myVid = document.createElement('video'); myVid.muted = true;

myPeer.on('打开', id => { socket.emit('加入房间', 房间, id) 控制台.log(房间); })

navigator.mediaDevices.getUserMedia({ 视频:真实, 音频:真实, }).then(流 => { addStream(myVid, 流)

myPeer.on('通话', 通话 => { 呼叫.应答(流) const video = document.createElement('video') call.on('stream', userStream => { 添加流(视频,用户流) }) }) }) } })

const addStream = (视频, 流) => { video.srcObject = 流; video.addEventListener('loadedmetadata', () => { 视频.播放() }) StreamBlock.current.append(视频) }

请帮我解决导航器问题。

reactjs node.js stream webrtc navigator
1个回答
0
投票

看起来这是在服务器端执行,但您期望一个客户端对象(

navigator
)。导航器不是
Node.js
的一部分,而是浏览器的一部分。

我建议确保上述代码不是在您的服务器上运行,而是提供给客户端。也许使用类似

useEffect()
的东西或将其嵌入到触发操作时调用它的组件中。

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