2016-09-23 2 views
2

PHP에서 Google 스피치 API를 사용하여 오디오 텍스트를 읽으려고하는데 다음과 같이 실패합니다. 요청에 'config'필드가 있어야합니다.Google 음성 API API가 실패했습니다.

<?php 

require '../lib/vendor/autoload.php'; 

$client = new Google_Client(); 
$client->useApplicationDefaultCredentials(); 

$client->setAuthConfig(__DIR__.'/config.json'); 

$client->authorize(); 

$guzzleClient = new \GuzzleHttp\Client(array('curl' => array(CURLOPT_SSL_VERIFYPEER => false))); 
$client->setHttpClient($guzzleClient); 
$client->addScope('https://www.googleapis.com/auth/cloud-platform'); 

$speechService = new Google_Service_Speech($client); 

$syncRecognize = new Google_Service_Speech_SyncRecognizeRequest(); 

$config = new Google_Service_Speech_RecognitionConfig(); 
$config->audioChannels = 1; 
$config->encoding = 'LINEAR16';//'audio/wav'; 
$config->sampleRate = 8000; 

$audio = new Google_Service_Speech_RecognitionAudio(); 
$audio->setContent(file_get_contents('c1.wav')); 

$syncRecognize->setAudio($audio); 
$syncRecognize->setConfig($config); 


$response = $speechService->speech->syncrecognize($syncRecognize); 

내가받을 다음과 같은 :

코드입니다

Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ 
    "error": { 
    "code": 400, 
    "message": "Invalid recognition 'config': request must contain 'config' field.", 
    "errors": [ 
     { 
     "message": "Invalid recognition 'config': request must contain 'config' field.", 
     "domain": "global", 
     "reason": "badRequest" 
     } 
    ], 
    "status": "INVALID_ARGUMENT" 
    } 
} 

나는 PHP에 대한 모든 문서를 찾을 수 없습니다, 그래서 어떤 도움을 주시면 감사하겠습니다.

+0

이 하나를 알아낼 했습니까? – dearsina

답변

0

시도 :

$audio->setContent(base64_encode(file_get_contents('c1.wav')));