百度 tts 语音合成 rest api POST调用方式

对接了一下百度语音合成的REST API,官方的文档参数传递方式感觉略模糊。

如下:

将文本以及其他参数写入到body里面,利用表单的方式将参数传递到服务端。调用地址为http://tsn.baidu.com/text2audio , 所有的参数都在body中。body里面的数据为:

  1. tex=***&lan=zh&cuid=***&ctp=1&tok=***

注意:
不论是将参数放到URL地址中,还是利用表单的方式放入到http body中,参数都需要经过两次 URLENCODE 操作。如果是直接在浏览器地址栏输入则不需要。

使用了curl发送post请求:

按文档传递参数,提示501 ,tts err_msg: “parameter error.”,

分别试了下。。。成功调用的时候是不需要对参数进行urlencode编码的。

直接将参数按&符号连接即可。

curl直接设置:

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);

 

如果出现乱码,说明操作成功了。乱码原因是需要设置header如下:

header("Content-Type:audio/mp3");

 

 

 

原文链接:,转发请注明来源!

发表评论