2016-09-23 1 views
2

Ich versuche Google Speech API in PHP zu verwenden, um Text von Audio zu lesen, aber es schlägt mit dem folgenden fehl: Anforderung muss 'Config' Feld enthalten.Google Speech Api PHP schlägt fehl

Dies ist der Code:

<?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); 

ich folgendes erhalten:

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" 
    } 
} 

ich finden kann keine Dokumentation für PHP, so wäre jede Hilfe dankbar.

+0

Haben Sie diese ein herausgefunden? – dearsina

Antwort

0

Versuchen:

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