Я работаю с Google Cloud Voice API. Когда я запускаю свой скрипт, происходит вызов API и ответ. Информация об операции возвращает данные, но результат пуст.
Вот мой код (где URL-адрес файла, имя файла, URL-адрес ключа, имя проекта и имя корзины я удалил настоящие данные):
function __construct(){
$file_url='file path.mp3';
$filename='file name.mp3';
/** Create google client **/
$client = new Google_Client();
$key='path to google key';
putenv($key);
$client->useApplicationDefaultCredentials();
/** Create storage **/
$str_config = array(
'projectId' => 'project id'
);
$storage = new StorageClient($str_config);
$bucket_name='bucket name';
$bucket=$storage->bucket($bucket_name);
$object = $bucket->object($filename);
/** Create Speech **/
$config = array(
'projectId' => 'project id',
'languageCode' => 'en-US'
);
$options = array(
"encoding"=>'LINEAR16',
"languageCode"=>"en-US",
'sampleRateHertz' => 16000
)
;
$speech = new Google\Cloud\Speech\SpeechClient($config);
$operation = $speech->beginRecognizeOperation(
$object,
$options
);
$backoff = new ExponentialBackoff(100);
$backoff->execute(function () use ($operation) {
print('Waiting for operation to complete' . PHP_EOL);
$operation->reload();
if (!$operation->isComplete()) {
throw new Exception('Job has not yet completed', 500);
}
});
if ($operation->isComplete()) {
if (empty($results = $operation->results())) {
$results = $operation->info();
}
var_dump($results, $operatimon->results());
}
}
В результате я получаю вызов:
Array
(
[0] => Array
(
[name] => some name
[metadata] => Array
(
[@type]=> type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata
[progressPercent] => 100
[startTime] => 2017-07-16T19:15:58.768490Z
[lastUpdateTime] => 2017-07-16T19:15:59.999625Z
)
[done] => 1
[response] => Array
(
[@type]=> type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse
[totalBilledTime] => 15s
)
)
[1] => Array
(
)
)
Я пробовал несколько типов файлов с несколькими кодировками, не могу найти правильную комбинацию. Или, может быть, есть другая проблема. Пожалуйста, помогите.
$operation
с помощью$operation->isComplete()
, прежде чем вы сможете увидеть результаты распознавания речи. Пример см. на этой странице. . - person dizcology   schedule 18.07.2017