语音识别完成后如何禁用麦克风?

How to disable microphone once speech recognition is completed?

我最近使用 HTML5 语音 API 实现了语音识别功能,可以与 Google Chrome 集成。

我面临的问题是演讲结束后我应该如何禁用麦克风?

语音结束后录音标志不应该出现

调用 MediaStreamTrack.stop() 方法,并以 MediaStreamTrack 作为参数调用 .removeTrack(),这将停止 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>

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