如何在 javascript 中的所需时间停止录音机
how to stop audio recorder at desired time in 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 函数,从而停止 recorder.I 在第一个函数中使用的 setTimeout如果用户不点击停止按钮,实现这个效果很好,
问题是,如果用户在给定时间之前单击停止按钮,则停止记录功能 运行 但在给定时间之后,setTimeout 再次调用停止记录功能。
我希望如果用户单击停止按钮,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();
.......
.......
}
///我的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 函数,从而停止 recorder.I 在第一个函数中使用的 setTimeout如果用户不点击停止按钮,实现这个效果很好,
问题是,如果用户在给定时间之前单击停止按钮,则停止记录功能 运行 但在给定时间之后,setTimeout 再次调用停止记录功能。
我希望如果用户单击停止按钮,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();
.......
.......
}