Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在发布到服务器之前将捕获的getUserMedia视频保存到文件_Javascript_Html5 Video - Fatal编程技术网

Javascript 在发布到服务器之前将捕获的getUserMedia视频保存到文件

Javascript 在发布到服务器之前将捕获的getUserMedia视频保存到文件,javascript,html5-video,Javascript,Html5 Video,我正在尝试编写一个小应用程序,可以在浏览器中录制视频并将其上传到服务器 我得到的代码如下: <html> <body> <video id="video" playsinline autoplay></video> <script> function hasGetUserMedia() { return !!(navigator.mediaDevices &&

我正在尝试编写一个小应用程序,可以在浏览器中录制视频并将其上传到服务器

我得到的代码如下:

<html>
<body>

    <video id="video" playsinline autoplay></video>

    <script>
        function hasGetUserMedia() {
            return !!(navigator.mediaDevices &&
            navigator.mediaDevices.getUserMedia);
        }

        if (hasGetUserMedia()) {
            console.log("Good to go");
        } else {
            console.log('Not supported');
        }

        const constraints = {
          video: true,
          audio: true,
        };


        function start(){
            navigator.mediaDevices.getUserMedia(constraints).
            then((stream) => {video.srcObject = stream});
            var videoEl = document.getElementById('video');
            stream = videoEl.srcObject;
        }

        function stop(){
            var videoEl = document.getElementById('video');
            stream = videoEl.srcObject;
            tracks = stream.getTracks();
            tracks.forEach(function(track) {
               track.stop();
            });
            downloadLink.href = URL.createObjectURL(new Blob(tracks[0]));
            downloadLink.download = 'acetest.webm';

        }

    </script>

    <button onclick="start()">Start</button>
    <button onclick="stop()">Stop</button>


</body>

函数hasGetUserMedia(){
return!!(navigator.mediaDevices)&&
navigator.mediaDevices.getUserMedia);
}
如果(hasGetUserMedia()){
console.log(“很好”);
}否则{
console.log(“不支持”);
}
常量约束={
视频:没错,
音频:是的,
};
函数start(){
navigator.mediaDevices.getUserMedia(约束)。
然后((流)=>{video.srcObject=stream});
var videoEl=document.getElementById('video');
流=videoEl.src对象;
}
函数停止(){
var videoEl=document.getElementById('video');
流=videoEl.src对象;
tracks=stream.getTracks();
tracks.forEach(函数(track){
track.stop();
});
downloadLink.href=URL.createObjectURL(新Blob(曲目[0]);
downloadLink.download='acetest.webm';
}
开始
停止

我可以在屏幕上看到视频,但不确定如何将其捕获到文件中进行上传

我尝试过使用
URL.createObjectURL(新Blob(tracks[0])但这不起作用。按下停止按钮后如何保存视频