Closed ganxiaozhe closed 1 month ago
网页上有两个录音逻辑,一是按钮录音,即按住按钮开始录音 rec.start(),松开按钮结束录音 rec.stop()。 二是快捷键录音,即按下空格开始录音 rec.start(),松开空格结束录音 rec.stop()。
rec.start()
rec.stop()
第一种运行良好,但第二种会出现未采集到录音的报错,但录音时的波形显示是正常的。 请问这是浏览器限制,还是库的问题?
document.onkeydown = (e)=>{ const code = e.code.toLocaleUpperCase(); if(code==='SPACE'){recStart();} }; document.onkeyup = (e)=>{ const code = e.code.toLocaleUpperCase(); if(code==='SPACE'){recStop();} }; function recStart(){rec.start();} function recStop(){ rec.stop(async function(blob:Blob, duration:number){ }, function(msg:string){ console.log("录音失败:"+msg); }) }
每个调用的地方都打上日志,检查哪里重复调用了导致的状态不正确
经排查确实是多次调用 rec.start() 导致的问题,感谢。
网页上有两个录音逻辑,一是按钮录音,即按住按钮开始录音
rec.start()
,松开按钮结束录音rec.stop()
。 二是快捷键录音,即按下空格开始录音rec.start()
,松开空格结束录音rec.stop()
。第一种运行良好,但第二种会出现未采集到录音的报错,但录音时的波形显示是正常的。 请问这是浏览器限制,还是库的问题?