百度语音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);