import com.google.cloud.speech.v1p1beta1.RecognitionAudio;
import com.google.cloud.speech.v1p1beta1.RecognitionConfig;
import com.google.cloud.speech.v1p1beta1.RecognizeRequest;
import com.google.cloud.speech.v1p1beta1.RecognizeResponse;
import com.google.cloud.speech.v1p1beta1.SpeechClient;
import com.google.protobuf.ByteString;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class SpeechRecognitionExample {
public static void main(String[] args) throws Exception {
// 设置语音文件路径
String audioFilePath = "audio.wav";
try (SpeechClient speechClient = SpeechClient.create()) {
// 读取语音文件
Path path = Paths.get(audioFilePath);
byte[] data = Files.readAllBytes(path);
ByteString audioBytes = ByteString.copyFrom(data);
// 创建识别请求
RecognitionConfig config = RecognitionConfig.newBuilder()
.setLanguageCode("en-US") // 设置语音文件的语言代码
.build();
RecognitionAudio audio = RecognitionAudio.newBuilder()
.setContent(audioBytes)
.build();
RecognizeRequest request = RecognizeRequest.newBuilder()
.setConfig(config)
.setAudio(audio)
.build();
// 发送识别请求并获取响应
RecognizeResponse response = speechClient.recognize(request);
// 解析识别结果
for (com.google.cloud.speech.v1p1beta1.SpeechRecognitionResult result : response.getResultsList()) {
// 获取识别结果文本
String transcript = result.getAlternatives(0).getTranscript();
System.out.println("识别结果: " + transcript);
}
}
}
}