我正在使用navigator.getUserMedia作为语音备忘录应用。它就像一个魅力。
当我退出应用程序时,麦克风保持打开状态(通知“音频备忘录麦克风已打开”,红点仍保留在状态栏中。即使在手机进入睡眠状态十五分钟后,它也会保持亮起状态。< / p>
退出应用程序时如何关闭麦克风。我检查了mediastream API但找不到任何引用。
答案 0 :(得分:3)
您是否尝试过停止方法:https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder.stop
可能有一种更好的方法,但我通过使用类似于以下的代码来关闭最小化的应用程序: mediaRecorder是绑定到流的MediaRecorder对象的引用。您也可以在GetUserMedia调用返回的流上调用stop。还必须在app的init上调用setup。
function handleVisibilityChange() {
if (document.hidden) {
console.log("hidden");
if( gumStream ){
gumStream.stop();
mediaRecorder = null;
}
} else {
console.log("visible");
setup(); //Call getUserMedia
}
}
document.addEventListener("visibilitychange", handleVisibilityChange, false);