百度语音php接口的简单的用法

 1 <?php
 2 header("Content-type:text/html;charset=utf-8");
 3 define('AUDIO_FILE', "./test2.pcm");
 4 
 5 //put your params here
 6 $cuid = "";
 7 $apiKey = "";
 8 $secretKey = "";
 9 
10 $auth_url = "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=".$apiKey."&client_secret=".$secretKey;
11 $ch = curl_init();
12 curl_setopt($ch, CURLOPT_URL, $auth_url);
13 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
14 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
15  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
16 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
17 $response = curl_exec($ch);
18 if(curl_errno($ch))
19 {
20     print curl_error($ch);
21 }
22 curl_close($ch);
23 $response = json_decode($response, true);
24 $token = $response['access_token'];
25 
26 $url = "http://vop.baidu.com/server_api?cuid=".$cuid."&token=".$token;
27 //$url = $url."&lan=zh";
28 $audio = file_get_contents(AUDIO_FILE);
29 $content_len = "Content-Length: ".strlen($audio);
30 $header = array ($content_len,'Content-Type: audio/pcm; rate=8000',);
31 $ch = curl_init();
32 curl_setopt($ch, CURLOPT_URL, $url);
33 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
34 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
35 curl_setopt($ch, CURLOPT_POST, 1);
36 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
37 curl_setopt($ch, CURLOPT_TIMEOUT, 30);
38 curl_setopt($ch, CURLOPT_POSTFIELDS, $audio);
39 $response = curl_exec($ch);
40 if(curl_errno($ch))
41 {
42     print curl_error($ch);
43 }
44 curl_close($ch);
45 echo $response;
46 $response = json_decode($response, true);
47 //var_dump($response);
48 
49 ?>

测试的时候官方会提示一个3300的错误 是证书验证不通过 特在此记录一下 

在第一个curl里面加上下面语句就ok了 有兴趣的可以试一下吧

 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

 

posted @ 2016-12-06 11:02  ー個亽の江湖  阅读(530)  评论(0)    收藏  举报