前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Cloud Speech API初心者です。
PHPを使って、音声データの文字を取得したいです。
どうしてもブランクで、戻ってきてしまいます。
発生している問題・エラーメッセージ
特にエラーメッセージは表示されないのですが、
GCPダッシュボードでは、実行するたびにエラーがカウントされています。
GCPへの接続はできているようなのですが・・・
どうすれば良いか悩んでいます。
該当のソースコード
ソースコード $filename = ローカルファイルパス/test.flac'; $fp = fopen( $filename, 'rb' ); $content = fread( $fp, filesize( $filename ) ); fclose( $fp ); // それをBase64エンコードする $encodedContent = base64_encode( $content ); //$contentは、flacの音声データです //// JSON形式でリクエスト ボディを生成する $requestBody = <<< EOD { "config": { "encoding": "FLAC", "sampleRateHertz": 16000, "languageCode": "ja-JP", }, "audio": { "content" : "{$encodedContent}" } } EOD; $url = 'https://speech.googleapis.com/v1/speech:recognize?key='.$apiKey; $header = array( 'Content-Type: application/json; charset=utf-8' ); $ch = curl_init($url); curl_setopt( $ch, CURLOPT_POST, TRUE); curl_setopt( $ch, CURLOPT_HTTPHEADER, $header ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $requestBody ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt( $ch, CURLOPT_FAILONERROR, TRUE ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE); // リクエストし、結果を出力する $result = curl_exec($ch); //この$resultがブランクになってしまう。 curl_close($ch); if ($result == FALSE || $result == '') { echo 'エラー'; } else { $result_array = json_decode($result, true); print_r($result_array); }
試したこと
どうすれば良いか全く検討がつかなくなってしまいました。
どうか、ご教授ください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー