[语音技术]H5的录音类控制自动停止(2)
荒墨丶迷失 发布于2017-11 浏览:20660 回复:55
6
收藏
最后编辑于2022-04

在[语音技术]java+H5的录音类实例(1)这篇文章中,讲到如何利用浏览器录音的功能

文章地址:http://ai.baidu.com/forum/topic/show/492732

但是在后续的使用中发现,每次都需要手动的点击录音和关闭录音,所以这是用户体验上非常不好的一个方式,所以,我找了很多方法,最后解决

了这个“不说话几秒  自动停止录音”的方式,当然后续还会解决如何做一些线程 来实现浏览器唤醒录音功能

回到这个录音停止的功能,代码如下:

// 音频采集
recorder.onaudioprocess = function(e) {
var data= e.inputBuffer.getChannelData(0);
var l = Math.floor(data.length / 10);
var vol = 0;
for(var i = 0; i < l ; i++){
vol += Math.abs(data[i*10]);
}
emptyCheckCount ++;
console.log(vol);
if(vol < 30){ //设置音量
emptydatacount ++;
console.log(emptydatacount);
if(emptydatacount > 30){ //设置静音停止次数
console.log('stoped');
self.recordStop();
}
} else {
emptydatacount = 0;
}
audioData.input(e.inputBuffer.getChannelData(0));
};

这个是一个音频采集的方法,原来是你点开始录音时,会调用这个获取录音的方法onaudioprocess,然后利用这么一个类似的算法

var l = Math.floor(data.length / 10);
    var vol = 0;
    for(var i = 0; i < l ; i++){
    vol += Math.abs(data[i*10]);
}

再来一个判断音量大小的方法,如果你在使用中可以修改这个“30”的参数,为音量大小,下方的大小是指音量低于这个值时,“30”大概是3秒左右的时间

大家可以在我之前给的js里面加上这段代码,然后在前台页面调用时,加一个停止逻辑就可以了

可以查看另一篇文章,下载里面的源码:http://ai.baidu.com/forum/topic/show/492787

大家~欢迎不理解的多多提问~

谢谢~

 

收藏
点赞
6
个赞
共55条回复 最后由用户已被禁言回复于2022-04
#16goJhou回复于2017-11
#15 笔墨哥回复
开发大赛我不行。。百度的创业大赛还ok。。

哈哈哈哈哈л̵ʱªʱªʱª (ᕑᗢᓫา∗)˒

0
#15笔墨哥回复于2017-11
#14 荒墨丶迷失回复
就想着领东西,报名开发大赛去~hhhh

开发大赛我不行。。百度的创业大赛还ok。。

0
#14荒墨丶迷失回复于2017-11
#11 笔墨哥回复
没有体验一些智能硬件么?没有抱走一些实物吗?~

就想着领东西,报名开发大赛去~hhhh

1
#13笔墨哥回复于2017-11
#12 goJhou回复
没东西领,就看

好吧~了解一下也不错~

0
#12goJhou回复于2017-11
#11 笔墨哥回复
没有体验一些智能硬件么?没有抱走一些实物吗?~

没东西领,就看

0
#11笔墨哥回复于2017-11
#10 goJhou回复
视觉盛宴

没有体验一些智能硬件么?没有抱走一些实物吗?~

0
#10goJhou回复于2017-11
#9 笔墨哥回复
哦吼~都打劫了什么福利呀~

视觉盛宴

0
#9笔墨哥回复于2017-11
#8 goJhou回复
噗,在写百度大会的

哦吼~都打劫了什么福利呀~

0
#8goJhou回复于2017-11
#7 荒墨丶迷失回复
hhh~ 期待你的UNIT分享

噗,在写百度大会的

0
#7荒墨丶迷失回复于2017-11
#6 goJhou回复
在动车上了,在写总结报告hhh

hhh~ 期待你的UNIT分享

1
#6goJhou回复于2017-11
#4 荒墨丶迷失回复
我才是你的小粉丝,对了,乐兄什么时候回来呀~

在动车上了,在写总结报告hhh

0
#5荒墨丶迷失回复于2017-11
#2 笔墨哥回复
来学习一下楼主的分享

hhhh~

1
#4荒墨丶迷失回复于2017-11
#3 goJhou回复
可以,很强,实力圈粉

我才是你的小粉丝,对了,乐兄什么时候回来呀~

1
#3goJhou回复于2017-11

可以,很强,实力圈粉

1
#2笔墨哥回复于2017-11

来学习一下楼主的分享

0
TOP
切换版块