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
目前只想到了这么多。。以后有了再更
附上两个教程 感觉很好:
https://blog.csdn.net/dddxxxx/article/details/52458899
https://www.cnblogs.com/jiayongji/p/5366171.html
个人感悟:感觉跟一个比较在行的人一起塔伦,或者经人家指点就觉得学得很快。真希望能以后能多点跟在行的人讨论或者请教的机会,如果有,一定倍加珍惜。