[语音技术]java+H5的录音类实例(1)
置顶
荒墨丶迷失 发布于2017-11-02 11:27 浏览:3058 回复:30
3
收藏

看了某位仁兄的分享的关于C#的window平台的录音分装,有兴趣同学请访问楼下地址

https://ai.baidu.com/forum/topic/show/492634

于是,我也整理了自己项目中做的终端智能语音的系统,中应用到的H5录音功能,希望可以帮助到大家,谢谢!

1.首先关键类封装到了一个js文件中,核心讲解一下

按照标准的可以识别的采样率和采样位进行设置,然后创建声音的缓存节点

其中需要注意这个js里面的一段代码,这个地方是我后来研究发现,录音多次会有问题,需要加这一段代码

最后说明一下,下面是获取录音的代码

注意这个方法只实用于chrome48版本以上和以及高版本火狐浏览器,不支持IE浏览器,同时还需要配置HTTS协议访问,当然你用低于48版本以下的chrome是可以用HTTP协议的,为什么呢,这是谷歌浏览器后来升级,对于音频的安全限制考虑

js讲解完后我在上后续代码,我用的是java语言写的,希望能看的懂……

介绍下这个保存的方法,用MultipartFile来接手js那边发过来音频对象数据,然后里面的做数据保存操作,这里保存的格式为wav格式

再看一个方法,是jsp页面ajax提交录音的方法,其中的保存录音就是上面的这个save方法。

相信会写java的同学应该不陌生,里面可以拿到保存后的音频路径,这个时候就可以调用百度语音识别的方法进行识别,然后把识别后的数据

返回到前台页面,是不是呢?

下面我先把三个文件提供给大家把,一个控制层类,一个js,一个jsp页面,顺带先给一个配置好127.0.0.1的HTTPS协议的tomcat给你们使用

链接:http://pan.baidu.com/s/1dFaW3Wd 密码:9d3q

收藏
点赞
3
个赞
共30条回复 最后由荒墨丶迷失回复于2017-12-11 17:13
#2荒墨丶迷失回复于2017-11-02

有问题的伙伴们随时下方联系,谢谢!!

1
#3lhm敏0401回复于2017-11-02

支持一下~试了代码是可以录音的

0
#4笔墨哥回复于2017-11-02

好实用的分享呀,楼主棒棒哒~

0
#5kohakuarc回复于2017-11-03

多谢分享!目前在搞C#的Windows录音,感觉挺复杂的。楼主的这个可不可以和ASP.net结合一起使用?我只要录音的功能。

1
#6荒墨丶迷失回复于2017-11-03
#5 kohakuarc回复
多谢分享!目前在搞C#的Windows录音,感觉挺复杂的。楼主的这个可不可以和ASP.net结合一起使用?我只要录音的功能。
展开

这个录音其实原理就是利用(webikit(谷歌之类的webikit)和Gecko(firefox))的特性,实现了HTML5页面的录音功能,所以其实跟java,C#,还是.NET是没有关系的,只要你想在浏览器上的系统实现录音功能,都可以用上面这个js类,至于如何接收这个音频对象就要看具体语言的代码了

2
#7kohakuarc回复于2017-11-03
#6 荒墨丶迷失回复
这个录音其实原理就是利用(webikit(谷歌之类的webikit)和Gecko(firefox))的特性,实现了HTML5页面的录音功能,所以其实跟java,C#,还是.NET是没有关系的,只要你想在浏览器上的系统实现录音功能,都可以用上面这个js类,至于如何接收这个音频对象就要看具体语言的代码了
展开

多谢解答!我会试试的!

1
#8Sxuehua回复于2017-11-08

请问在网页上是什么效果啊,我这边点击开始录音的效果如下所示

没有其他反应了

0
#9荒墨丶迷失回复于2017-11-08
#8 Sxuehua回复
请问在网页上是什么效果啊,我这边点击开始录音的效果如下所示 [图片] 没有其他反应了
展开

你好明天解答你录音的问题……hhh

1
#10756665228回复于2017-11-09

楼主应该把可以开源的代码上传git 或者gitee

2
#11荒墨丶迷失回复于2017-11-10
#10 756665228回复
楼主应该把可以开源的代码上传git 或者gitee

谢谢提醒!还不太会用github~~

2
#12笔墨哥回复于2017-11-10
#10 756665228回复
楼主应该把可以开源的代码上传git 或者gitee

大神懂的就是多~

1
#13K零度以下回复于2017-11-10

实用贴

1
#1424懂等回复于2017-11-13

请问一段时间内如何检测是否有语音输入,没有就自动停止录音

0
#15荒墨丶迷失回复于2017-11-13
#14 24懂等回复
请问一段时间内如何检测是否有语音输入,没有就自动停止录音

这个问题目前已经解决了,是通过音量大小控制,自动停止录音

2
#1624懂等回复于2017-11-13

可以分享下嘛

0
#17荒墨丶迷失回复于2017-11-14
#16 24懂等回复
可以分享下嘛

可以的,我找个时间整理一下,分享给大家~

2
#1824懂等回复于2017-11-14

是获取频域的最大值?

0
#19笔墨哥回复于2017-11-14
#15 荒墨丶迷失回复
这个问题目前已经解决了,是通过音量大小控制,自动停止录音

不错哈,能够找到解决方法,棒

1
#20goJhou回复于2017-11-16

可以,不错,实力加精

1
#21笔墨哥回复于2017-11-16
#17 荒墨丶迷失回复
可以的,我找个时间整理一下,分享给大家~

不错,都很实用~

0
TOP
切换版块