Hello,嗨,大家好!!!
这里是17分享资源网
今天,我想和大家分享-,百度语音-JAVA对PCM文件格式处理的文章,感谢您宝贵的时间阅读,让这一刻属于我们吧!
17分享资源网 www.17fenxiang.cn
全网拥有最丰富的资源 免费下载最多 价格最便宜的来源网站。
百度语音-JAVA对PCM文件格式处理
1 问题描述
调用百度语音接口使用测试PCM文件正常返回。
使用微信小程序上传录音文件、本地录音调用百度语音接口。正常响应,但是响应结果不是“嗯嗯”,就是空。然后检查使用音频文件,额,没啥问题,一度怀疑接口的识别率….
实在没办法,不可能别人都能用,就你用不了。继续仔细研究接口文档。
注意是必须符合,必须符合,必须符合。重要的事情说3遍。
然后文档中给了文件格式的转码说明。
详细见:
额,好吧ffmpeg软件一枚。我吐了啊。代码要用,给你我软件我怎么玩?
2 解决方案
1 、安装软件
2 、程序通过调用系统命令形式将文件转换为需求格式
3、使用转换后的文件调用百度语音接口
嗯,问题就这样解决了。具体解决流程及代码如下,后附源码。(注意:区分开发及测试环境,安装ffmpeg,本地一般是windows,生产一般是linux环境)
大佬提供了另一种解决方式:
使用下述测试类中的mp3转pcm的转换方法,微信小程序配置如下,上传MP3文件,转码成PCM格式,然后调用接口
注意文档中说需要额外告知编码格式等信息,该方法我未尝试,但据说可使用,大佬牛皮。
方法及maven在源码中,这里不做介绍
3、ffmpeg
3.1 windows安装ffmpeg
windows安装比较简单,去官网下载windows版本,然后添加环境变量
下载地址:
然后解压
添加环境变量,Path指定到bin目录即可
CMD测试,如下Windows安装完成
3.2 centos linux下安装ffmpeg
1、下载解压
2、 进入解压后目录,输入如下命令/usr/local/ffmpeg为自己指定的安装目录
这里如果出现一下提示则需要安装 yasm,
具体版本可查看,进行选择
3 执行命令测试,配置环境变量后,使用ffmpeg测试也是一样的,但是建议使用/usr/local/ffmpeg/bin/ffmpeg后续说明
如果出现,或者提示libavdevice.so.xx类似信息,原因是找不到找不到启动路径
则
打开文本后,加入如下路径、
/usr/local/ffmpeg/lib/
#最后面的斜杠一定要带上,别忘了!
#该路径为ffmpeg的安装路径,如果路径不同,需要切换到自己的安装路径下,最后指向lib文件夹下
OK,在测试 一波,Linux版本安装完成
4 源码介绍
后续附源码,这里只介绍不贴代码
4.1 微信小程序测试
使用wx.recorderManager获取录音,配置如下上传mp3文件(可根据自己需求定)
4.2 文件上传
4.3 调用系统命令工具类
具体调用命令可根据实际情况制定,详细见4.4 百度语音识别工具类
4.5 语音识别极速版获取token
4.6 测试类
4.7 pom文件
4.8 配置类
注意:这里command 没有直接使用系统变量ffmpeg,而是直接指定文件D:\\SoftWare\\ffmpeg\\bin\\ffmpeg.exe,是因为程序调用是使用ffmpeg会报错,找不到命令,又因为我懒,这样简单便捷。linux类似



















