我要在google https://cloud.google.com/speech-to-text/docs/libraries#client-libraries-install-java提供的此链接的基础上,使用android和Google应用程序中的Google Cloud Speech API
我已经尝试了链接https://developers.google.com/accounts/docs/application-default-credentials中提供的解决方案,但是仍然无法正常工作。
Windows环境变量用户和系统都具有GOOGLE_APPLICATION_CREDENTIALS = C:\ Users \ ANSH \ Downloads \ credential.json
所有必要的进口物都存在。
private void recognizeSpeech(){
try{
SpeechClient speechClient = SpeechClient.create();
String languageCode="en-US";
int sampleRateHertz=16000;
RecognitionConfig.AudioEncoding encoding = RecognitionConfig.AudioEncoding.LINEAR16;
RecognitionConfig config =
RecognitionConfig.newBuilder()
.setLanguageCode(languageCode)
.setSampleRateHertz(sampleRateHertz)
.setEncoding(encoding)
.build();
Path path = Paths.get(fileName);
byte[] data = Files.readAllBytes(path);
ByteString content = ByteString.copyFrom(data);
RecognitionAudio audio = RecognitionAudio.newBuilder().setContent(content).build();
RecognizeRequest request =
RecognizeRequest.newBuilder().setConfig(config).setAudio(audio).build();
RecognizeResponse response = speechClient.recognize(request);
for (SpeechRecognitionResult result : response.getResultsList()) {
// First alternative is the most probable result
SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0);
outputText.setText(alternative.getTranscript());
}
}
catch (Exception e){
Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
}
}
credential.json包含使用服务帐户下载的密钥
https://cloud.google.com/speech-to-text/docs/libraries提到了一个音符。
注意:Cloud Java客户端库当前不支持Android。
这是否意味着它不能在android studio中使用?如果可以,怎么使用?
答案 0 :(得分:0)
您可能要检查此github link来了解如何解决该异常,但是请注意,“语音转文本客户端库”指定不支持Android,因为它已在注释中发布。
此外,由于您的问题是有关在Android应用中设置身份验证时的问题,因此建议您使用OAuth 2.0客户端ID。您需要从Google控制台生成一个OAuth 2.0 client ID,然后按照Android Instructions在GoogleSignInOptions
中传递requestIdToken
或requestServerAuthCode
。另外,请记住,这不能保证语音API和Android之间的正确集成,因此,如果您获得此作品,请与我们分享。