语音识别完成后如何禁用麦克风?
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>
我最近使用 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>