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

在[语音技术]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
个赞
共56条回复 最后由192******42回复于2023-10
#37zr0519回复于2017-12

厉害了,跪拜

0
#36荒墨丶迷失回复于2017-12
#35 笔墨哥回复
这就接不下去了。。。

好吧 这个时候就该转移话题 来来来 话题王笔墨哥

0
#35笔墨哥回复于2017-12
#34 荒墨丶迷失回复
那我其他说的话就没道理了嘛  hhhh~

这就接不下去了。。。

0
#34荒墨丶迷失回复于2017-12
#33 笔墨哥回复
哈哈,这话说的很有道理。。

那我其他说的话就没道理了嘛  hhhh~

1
#33笔墨哥回复于2017-12
#32 荒墨丶迷失回复
一切皆有可能 小伙子动起来

哈哈,这话说的很有道理。。

0
#32荒墨丶迷失回复于2017-12
#30 那夜初红回复
web手机端能实现语音对话吗

一切皆有可能 小伙子动起来

1
#31goJhou回复于2017-12
#30 那夜初红回复
web手机端能实现语音对话吗

当然

0
#30那夜初红回复于2017-12

web手机端能实现语音对话吗

0
#29荒墨丶迷失回复于2017-11
#27 笔墨哥回复
钱的话,每年资助十个项目,会有百度相关部门对接。受资助队伍,年底在北京进行最终答辩和颁奖。 每年我就是混个夏令营证书。。再说啦,包吃包住包高铁,还是要去开拓视野的,当旅游也好呀。。。
展开

我们社会人没这个福利吧~hhhh

0
#28goJhou回复于2017-11
#27 笔墨哥回复
钱的话,每年资助十个项目,会有百度相关部门对接。受资助队伍,年底在北京进行最终答辩和颁奖。 每年我就是混个夏令营证书。。再说啦,包吃包住包高铁,还是要去开拓视野的,当旅游也好呀。。。
展开

0
#27笔墨哥回复于2017-11
#24 goJhou回复
有钱拿呗   有项目落地吗

钱的话,每年资助十个项目,会有百度相关部门对接。受资助队伍,年底在北京进行最终答辩和颁奖。

每年我就是混个夏令营证书。。再说啦,包吃包住包高铁,还是要去开拓视野的,当旅游也好呀。。。

0
#26goJhou回复于2017-11
#25 荒墨丶迷失回复
厉害了,我的笔墨哥~

233333

0
#25荒墨丶迷失回复于2017-11
#21 笔墨哥回复
关注百度校园官网,一般每年5/6月会发出中国大创业家夏令营的报名表,里面会有赛题,完成创业计划书发给百度,就会进入筛选环节。然后8月去中科大培训(包吃包住包高铁票),最后一天进行现场答辩,评选优秀队伍,获得百度资助。   目前我组的队已经成功晋级两次了。。只要了解百度,一切皆有可能。。哈哈
展开

厉害了,我的笔墨哥~

0
#24goJhou回复于2017-11
#21 笔墨哥回复
关注百度校园官网,一般每年5/6月会发出中国大创业家夏令营的报名表,里面会有赛题,完成创业计划书发给百度,就会进入筛选环节。然后8月去中科大培训(包吃包住包高铁票),最后一天进行现场答辩,评选优秀队伍,获得百度资助。   目前我组的队已经成功晋级两次了。。只要了解百度,一切皆有可能。。哈哈
展开

有钱拿呗   有项目落地吗

0
#23笔墨哥回复于2017-11
#19 荒墨丶迷失回复
有得,百度之星·程序设计大赛和百度之星·开发者大赛  想了解的访问以下地址,争取明年拿奖 http://astar2017.baidu.com/home/index
展开

明年加油,争取拿到奖励吧。。。

0
#22笔墨哥回复于2017-11
#16 goJhou回复
哈哈哈哈哈л̵ʱªʱªʱª (ᕑᗢᓫา∗)˒

虽然我不懂技术,但是我还是有百度国际营销大赛和创业家证书的。。哈哈哈。。回到忧桑的话题,没有技术。。没有技术。。没有技术。。。

0
#21笔墨哥回复于2017-11
#17 荒墨丶迷失回复
创业大赛是什么?能介绍介绍?hhhh

关注百度校园官网,一般每年5/6月会发出中国大创业家夏令营的报名表,里面会有赛题,完成创业计划书发给百度,就会进入筛选环节。然后8月去中科大培训(包吃包住包高铁票),最后一天进行现场答辩,评选优秀队伍,获得百度资助。

 

目前我组的队已经成功晋级两次了。。只要了解百度,一切皆有可能。。哈哈

0
#20goJhou回复于2017-11
#19 荒墨丶迷失回复
有得,百度之星·程序设计大赛和百度之星·开发者大赛  想了解的访问以下地址,争取明年拿奖 http://astar2017.baidu.com/home/index
展开

社会人只能参加开发者大赛~

0
#19荒墨丶迷失回复于2017-11
#18 liguanghui2588回复
哪里有大赛啊,

有得,百度之星·程序设计大赛和百度之星·开发者大赛  想了解的访问以下地址,争取明年拿奖

http://astar2017.baidu.com/home/index

1
#18liguanghui2588回复于2017-11

哪里有大赛啊,

0
TOP
切换版块