ffmpeg sdk java_讨论使用讯飞sdk实现语音功能:对Java有感

1.get() set()方法:就是外部调用该方法时的接口

2.构造方法在每次new的时候都会自动创建。很重要(?)。其作用是被调用后对类中被封装的属性进行初始化操作。

3.recognizerResult类(封装了JSON格式数据的Java类)有点奇怪,不写get() set()方法让人调用,却写了一个接口让人调用。。。这到底有什么区别

4.感觉Java有些设计有点“笨”。比如:

因为recognizerResult返回结果调用get ResultString()方法,所以就必须定义一个String类型来将JSON数据变成JSONstr。结果为了进一步获得JSON里的数据,还要再将JSONstr变成JSON对象,再一层层剥,直到剥到目的value值,再将这些value值放入String中。真麻烦。

再比如:创建.wav格式文件,再通过ffmpeg转为.pcm格式文件。其实也可以直接创建.pcm格式文件,但是讯飞sdk是要一个“特殊的”.pcm格式文件。将.wav格式文件转为“特殊”.pcm文件可以这么写:

String command=new File(ffmpegPath).getAbsolutePath()+"/ffmpeg -y -i "+recordPath+" -acodec pcm_s16le -f s16le -ac 1 -ar 16000 "+pcmPath;

但是把“普通”.pcm文件转为“特殊”.pcm文件就不会写了。。。所以才没直接创建.pcm文件。

当然这应该是工具的锅,先不怪Java

目前只想到了这么多。。以后有了再更

个人感悟:感觉跟一个比较在行的人一起塔伦,或者经人家指点就觉得学得很快。真希望能以后能多点跟在行的人讨论或者请教的机会,如果有,一定倍加珍惜。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值