我想知道用WebRTC调用getUserMedia();
后不显示视频的最佳方法是什么。许多教程似乎都要求您立即显示视频,但是对于实际用例,在用户按下按钮之前不显示视频通常是有意义的。
我不确定大多数应用程序如何处理此问题,但是目前,我在想,也许可以通过在用户按下按钮之前不在页面上显示视频元素来实现样式化,但这将意味着流将从技术上讲是“开”的,只是不显示在页面上。因此,我想知道是否有一种方法可以在稍后按下按钮时使用JS来设置或访问流。
似乎在使用getUserMedia();
时必须立即设置和存储流(below is code from the Google Code Lab),所以我不确定是否不可能。
// Local stream that will be reproduced on the video.
let localStream;
// Handles success by adding the MediaStream to the video element.
function gotLocalMediaStream(mediaStream) {
localStream = mediaStream;
localVideo.srcObject = mediaStream;
}
// Initializes media stream.
navigator.mediaDevices.getUserMedia(mediaStreamConstraints)
.then(gotLocalMediaStream).catch(handleLocalMediaStreamError);
最佳答案
只是不显示它。
您可以将该流保留在变量中。只是不要将其分配为视频元素上的srcObject
。
关于javascript - 使用WebRTC时不立即显示视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58018671/