Google Speech API 在 PHP 中失败可能有多种原因。以下是一些建议和解决方法:
首先,确保你已经创建了一个有效的 Google Cloud 项目并启用了 Google Speech-to-Text API。同时,确保你有一个有效的 API 密钥。
使用 Composer 安装 Google Cloud PHP 客户端库:
composer require google/cloud-speech
在你的 PHP 代码中,确保使用正确的 API 密钥。你可以通过环境变量或者直接在代码中设置:
putenv('GOOGLE_APPLICATION_CREDENTIALS=path/to/your/service-account-file.json');
或者在代码中直接设置:
$client = new Google\Cloud\Speech\V1\SpeechClient([
'keyFilePath' => 'path/to/your/service-account-file.json',
]);
确保你的请求格式正确。以下是一个简单的示例:
use Google\Cloud\Speech\V1\RecognitionAudio;
use Google\Cloud\Speech\V1\RecognitionConfig;
use Google\Cloud\Speech\V1\SpeechClient;
$client = new SpeechClient();
// 设置音频文件路径
$audioFile = 'path/to/your/audio/file.wav';
// 创建 RecognitionConfig 对象
$config = (new RecognitionConfig())
->setEncoding(RecognitionConfig\AudioEncoding::LINEAR16)
->setSampleRateHertz(16000)
->setLanguageCode('en-US');
// 创建 RecognitionAudio 对象
$audio = (new RecognitionAudio())
->setContent(file_get_contents($audioFile));
// 发送请求
$response = $client->recognize($config, $audio);
// 处理响应
foreach ($response->getResults() as $result) {
foreach ($result->getAlternatives() as $alternative) {
echo 'Transcript: ' . $alternative->getTranscript() . PHP_EOL;
}
}
$client->close();
如果仍然失败,请检查 Google Cloud 的错误日志。你可以在 Google Cloud Console 中查看详细的错误信息和日志。
确保你使用的 Google Cloud PHP 客户端库是最新的。你可以通过 Composer 更新:
composer update google/cloud-speech
确保你的 PHP 应用程序可以访问 Google Cloud API。检查防火墙设置和网络连接。
领取专属 10元无门槛券
手把手带您无忧上云