如何解决如何在javascript中在所需时间停止录音机
////我的 HTML
<button onclick="startRecording()" > Record </button>
<button onclick="stopRecording()" > Stop </button>
//这里是我的js函数
function startRecording(){
console.log("stop button clicked");
.......
.......
rec.record();
.......
.......
setTimeout( function(){
console.log("10 seconds timeout");
stopRecording();
},10000 );
}
function stopRecording(){
console.log("start button clicked");
.......
.......
rec.stop();
.......
.......
}
用户可以开始和停止录制,但我希望如果用户不单击停止按钮,则应在给定时间调用 stopRecording 函数以停止录制器。我在第一个函数中使用了 setTimeout 来实现此目的好吧,如果用户没有点击停止按钮,
问题是,如果用户在给定时间之前单击停止按钮,则 stopRecording func 运行,但在给定时间之后 setTimeout 再次调用 stopRecording 函数。
我希望如果用户点击停止按钮然后 setTimeout 不应该工作。请帮我解决这个问题,另外,是否有可能获得开始录音的工作时间,我的意思是音频文件的时间(以秒为单位)。提前致谢
解决方法
删除 stopRecording 函数内的超时,如下所示:
var timeout_status = 0;
function startRecording(){
console.log("stop button clicked");
.......
.......
rec.record();
.......
.......
timeout_status = setTimeout( function(){
console.log("10 seconds timeout");
stopRecording();
},10000 );
}
function stopRecording(){
console.log("start button clicked");
window.clearTimeout(timeout_status);
.......
.......
rec.stop();
.......
.......
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。