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