Webrtc 在navigator.getUserMedia运行时添加视频曲目

Webrtc 在navigator.getUserMedia运行时添加视频曲目,webrtc,getusermedia,Webrtc,Getusermedia,我正在尝试使用navigator.getUserMedia()api捕获音频/视频。我有以下代码 var cameraEl; window.URL = window.URL || window.webkitURL; navigator.getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia ||

我正在尝试使用navigator.getUserMedia()api捕获音频/视频。我有以下代码

var cameraEl;

    window.URL = window.URL || window.webkitURL;
    navigator.getUserMedia = (navigator.getUserMedia ||
                            navigator.webkitGetUserMedia ||
                            navigator.mozGetUserMedia);
    navigator.getUserMedia(
        { video: true, audio: true },
        function (stream) {

            cameraEl = document.getElementById("selfCam");
            cameraEl.src = window.URL.createObjectURL(stream);
            window.mediaStream = stream;

        },
        function () {
            alert('Error: Camera failed!');
        }
    );
然后我像这样停止录像

window.mediaStream.getVideoTracks()[0].stop();

现在我想再次开始播放视频曲目。如何启动它?

您需要再次调用getUserMedia。停止()是最后一个动作。

谢谢Philipp。但是,是否有任何功能可以暂停视频曲目并在以后继续,而不是停止视频曲目。最简单的方法是通过执行以下操作禁用视频曲目:
stream.getVideoTracks()[0]。enabled=false这将发送黑色帧,直到您再次将enabled设置为true。这不会释放相机,且灯保持亮起。如今,浏览器支持重新协商,即从流中删除曲目,然后再次添加曲目,但这相当繁琐。