前端录音如何检测没有声音后三秒自动中断,有声音的话继续录音

170 天前
 moment082

前端录音的功能,我现在实现了开始录音和结束的功能。现在的需求是录音的过程中出现了静音或者没有声音输入,三秒之后会自动结束,如果在这三秒之内有输入,则重新计算时间,但是不结束录音,这种怎么做,请教一下。

1781 次点击
所在节点    程序员
11 条回复
AoEiuV020JP
170 天前
所谓“没有声音”,实际只能是判断接收到的音量小于特定值,
先想办法看看怎么获取实时的音量,然后调个合适的阈值,小于多少就停止,大于多少就开始,
Belmode
170 天前
GPT 告诉我,可以通过音量阈值实现。
paceewang1
170 天前
这个功能叫 VAD(Voice Activity Detection),各大云应该都有 api ,前端要离线使用的话不是很清楚,OP 可以用关键字搜索一下
asrpub
170 天前
可以试试这个开源项目 https://github.com/snakers4/silero-vad ,是用模型来判断是否人声的,根据音量阈值这种方式在噪声环境下是不可用的
kealm
170 天前
WebRTC 项目中有 VAD 模块,可以单独拿来用。
kk333dd
170 天前
harkjs 你看看能不能满足你需求,我之前项目有类似场景
moment082
170 天前
@AoEiuV020JP 用到那个 meidia 的解决了,没有用到其他第三方库,谢谢
moment082
170 天前
@asrpub 用到那个 media 的解决了,没有用到其他第三方库
moment082
170 天前
@AoEiuV020JP navigator.mediaDevices.getUserMedia 这个解决了,他能查看音量值
moment082
170 天前
@kk333dd navigator.mediaDevices.getUserMedia 这个解决了,他能查看音量值
moment082
170 天前
@kealm 是挺想用的,但是赶,来不及了,我也还没有学过 webrtc

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/993335

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX