Javascript 如何在firefox中重置视频对象?

Javascript 如何在firefox中重置视频对象?,javascript,firefox,Javascript,Firefox,这是我的密码: <html> <head> <script> async function updateSrc(){ var media=document.getElementById("media"); var shareAudio=document.getElementById("audioSrc");

这是我的密码:

<html>
    <head>
        <script>
            async function updateSrc(){
                var media=document.getElementById("media");
                var shareAudio=document.getElementById("audioSrc");
                var shareVideo=document.getElementById("videoSrc");
                
                shareAudio=shareAudio.options[shareAudio.selectedIndex].value;
                shareVideo=shareVideo.options[shareVideo.selectedIndex].value;
                await getStream(shareVideo,shareAudio)
                .then(stream=>{
                    if (media.srcObject!=null){
                        var trackList=media.srcObject.getTracks();
                        for (var i=0;i<trackList.length;i++){
                            trackList[i].stop();
                            media.srcObject.removeTrack(trackList[i]);
                        }
                        media.srcObject=null;
                    }
                    media.srcObject=new MediaStream();
                    stream.getTracks().forEach(track=>{
                        media.srcObject.addTrack(track);
                    });
                })
                .catch(err=>{
                    if (media.srcObject){
                        var trackList=media.srcObject.getTracks();
                        for (var i=0;i<trackList.length;i++){
                            trackList[i].stop();
                            media.srcObject.removeTrack(trackList[i]);
                        }
                    }
                    media.srcObject=null;
                    console.log(err);
                });
            }
            function getStream(shareVideo,shareAudio) {
                templateConstraint = {
                    "video": {
                      "width": {
                        "min": "640",
                        "ideal": "1280",
                        "max": "1920"
                      },
                      "height": {
                        "min": "480",
                        "ideal": "720",
                        "max": "1080"
                      }
                    },
                    "audio":true
                }
                var constraints={};
                if (shareVideo=="yes"){
                    constraints.video=templateConstraint.video;
                }
                if (shareAudio=="yes"){
                    constraints.audio=templateConstraint.audio;
                }
                return navigator.mediaDevices.getUserMedia(constraints);
            }
        </script>
    </head>
    <body>
        <div style="display:flex;
                    flex-direction:column; 
                    justify-content:space-around">
            <video autoPlay controls id="media" muted>
            </video>
            <div style="display:flex;
                        flex-direction:row; 
                        justify-content:space-around">
              <div>
                Share Video
                <select id="videoSrc" onchange="updateSrc()">
                  <option value="no">No</option>
                  <option value="yes">Yes</option>
                </select>
              </div>
              <div>
                Share Audio
                <select id="audioSrc" onchange="updateSrc()" autocomplete="off">
                  <option value="no">No</option>
                  <option value="yes">Yes</option>
                </select>
              </div>
            </div>
        </div>  
    </body>
</html>

异步函数updatesc(){
var media=document.getElementById(“媒体”);
var shareAudio=document.getElementById(“audioSrc”);
var sharedvideo=document.getElementById(“videoSrc”);
shareAudio=shareAudio.options[shareAudio.selectedIndex]。值;
shareVideo=shareVideo.options[shareVideo.selectedIndex]。值;
等待getStream(共享视频、共享音频)
。然后(流=>{
if(media.srcObject!=null){
var trackList=media.srcObject.getTracks();
对于(var i=0;i{
media.srcObject.addTrack(track);
});
})
.catch(错误=>{
if(media.srcObject){
var trackList=media.srcObject.getTracks();
对于(var i=0;i