百度语音识别REST API C版本debug过程

来源:互联网 发布:服装图设计软件 编辑:程序博客网 时间:2024/06/06 12:57

最近在尝试使用百度语音识别的API,贴出使用过程中的几个bug:

1编译环节

   我在编译sample.cpp的时候有一部分json包的函数出现undefined reference,我最后的解决方法是下了一个新的jsoncpp包,在编译时使用新的json.a链接库和原有的curl.a库,解决了这个问题。此外编译时似乎还有base64找不到,改成include base64.cpp就好了,这是一个小问题。


2运行环节

    编译成功后跑demo,发现报json param error, 3300的错误。研究后发现原因是一开始用curl获得access token的时候有一句fgets(result, MAX_BUFFER_SIZE, fpp),这里result长度是超过MAX_BUFFER_SIZE的,结果造成后面json无法解析。解决方法可以把MAX_BUFFER_SIZE宏调大(1024),或者直接在后面填json参数的时候自己跑一次curl请求然后把access token写死字符串,不过这样因为access token会过期所以会不太好。


看了一下发布日期好像是2014年,估计也没有新的维护,版本问题加上原有bug,这个示例还是有点坑的。