2017-07-15 113 views

回答

2

调用方法的MediaStreamTrack.stop(),和.removeTrack()MediaStreamTrack作为参数,它停止MediaStreamTrack并设置MediaStream.active属性false

<body> 
    <button>click</button> 
    <script> 
    navigator.mediaDevices.getUserMedia({audio:true}) 
    .then(stream => { 
     const track = stream.getAudioTracks()[0]; 
     console.log(track, track.readyState, stream, stream.active); 
     track.onended = e => { 
     console.log(e.type, track.readyState) 
     } 
     stream.oninactive = e => { 
     console.log(e.type, stream.active) 
     } 
     document.querySelector("button").onclick =() => { 
     track.stop(); 
     stream.removeTrack(track); 
     } 
    }) 
    </script> 
    </body> 

plnkr https://plnkr.co/edit/eqbZAI9SYwGTxEdgw92D?p=preview