我在 PHP 方面非常有经验,但我一直在连接服务器之间遇到问题,例如"post"。我有一个需要发布到 Google 语音识别 API 服务器的 FLAC 音频文件。我也不知道如何“倾听”它的回应。我想要一个这样的脚本,假设存在这种函数:
<?php
$fileId = $_GET['fileId'];
$filepath = $fileId . ".flac";
recognize($filepath);
function recognize($pathToFile) {
//It's the following function that I'm looking for
$response = $pathToFile->post("http://www.google.com/speech-api/v1/.....&client=chromium");
//The $response would be the short JSON that Google feed back.
echo $response;
}
?>
编辑
我按照教程创建了一个使用 Wget --post 发布我的 FLAC 文件的 Shell 脚本。我想这样发布,但是在 PHP 中。此外,在命令的末尾,有这一> answer.ret
行,以便 Google 的答案将写入此文件。我想知道PHP中是否有替代方法。这是命令行:
wget -q -U "Mozilla/5.0" --post-file audio1.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=fr-fr&client=chromium" > trancription1.ret
编辑 2
我想出了如何做到这一点,@hakre 的回答并为好奇的人烘焙了一个小要点。这是:https ://gist.github.com/chlkbumper/4969389 。不要忘记 FLAC 文件必须是 16k 比特率的 FLAC