Попытка запустить распознавание речи в php возвращает ошибку о том, что он не может распознать код языка из внешнего файла .json.С другой стороны, в документации Google по API четко указано, что это необходимо.
Я также использовал файл конфигурации EXACT SAME для запуска вызова из CLI с curl, и он работал отлично.Я понятия не имею, почему это не работает.
Файл .json RecognitionConfig выглядит следующим образом:
"config": {
//encoding is missing since I have an external process converting
//the files to .wav format
"sampleRateHertz":8000,
"audioChannelCount": 1,
"enableSeparateRecognitionPerChannel": false,
"languageCode":"ro-RO",
"maxAlternatives": 1,
"profanityFilter": false,
"speechContexts": [
{
"phrases": [
"lorem",
"ipsum",
"dolor",
"sit amet"
]
}
],
"enableWordTimeOffsets": false,
"model": "default",
"useEnhanced": false
}
Несмотря на то, что "ro-RO" является языковым кодом, который распознается в официальномДокументация, при загрузке страницы возвращается сообщение об ошибке:
«Недопустимое распознавание« config »: неверный код языка.», «code»: 3, «status»: «INVALID_ARGUMENT», «details»: [], Что дает?Где я ошибся и, что более важно, ПОЧЕМУ?
Вызов и создание кода php выглядит следующим образом:
$recogConfig = '/path/to/config/file.json';
putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json');
//both use absolute paths
$configString = file_get_contents($recogConfig);
$configObj = json_decode($configString/*, true -this doesn't work either*/);
echo $configString; //works, returns the contents aforementioned json file
После чего любой тип взаимодействия с $ cofigObj выдает «Вызов нанулевая ошибкаЯ понимаю, что наткнулся на передачу файла JSON в php, но каждое руководство, которое я изучал, говорит, что это должно работать, и я не могу понять, какая его часть дает сбой.Помимо простого ответа, я хотел бы знать, как сделать передачу файла json более подробной, чтобы я мог видеть, где происходит сбой процесса и почему.