如何在Android上使用谷歌云语音v1?
我最近将我的Android谷歌云语音代码从v1beta1更新为v1。API中有几个更改,其中一个是名为getWordsList()的新方法 我想在我的Android项目中使用getWordsList(),但是我的代码似乎看不到该方法:如何在Android上使用谷歌云语音v1?,android,android-studio,android-gradle-plugin,build.gradle,google-cloud-speech,Android,Android Studio,Android Gradle Plugin,Build.gradle,Google Cloud Speech,我最近将我的Android谷歌云语音代码从v1beta1更新为v1。API中有几个更改,其中一个是名为getWordsList()的新方法 我想在我的Android项目中使用getWordsList(),但是我的代码似乎看不到该方法: import com.google.cloud.speech.v1.SpeechGrpc; import com.google.cloud.speech.v1.SpeechRecognitionAlternative; import com.google.clou
import com.google.cloud.speech.v1.SpeechGrpc;
import com.google.cloud.speech.v1.SpeechRecognitionAlternative;
import com.google.cloud.speech.v1.StreamingRecognizeResponse;
import com.google.cloud.speech.v1.WordInfo;
...
public void onNext(StreamingRecognizeResponse response) {
int numOfResults = response.getResultsCount();
if( numOfResults > 0 ){
for (int i=0;i<numOfResults;i++){
StreamingRecognitionResult result = response.getResultsList().get(i);
SpeechRecognitionAlternative alternative = result.getAlternativesList().get(0);
for (WordInfo wordInfo: alternative.getWordsList()) { //-->>Cannot resolve 'method'
System.out.println(wordInfo.getWord());
System.out.println(wordInfo.getStartTime().getSeconds() + " ");
}
...
我还注意到,我无法使用所有grpc库,例如,无法导入以下库:
import com.google.api.gax.rpc.StreamingCallable;
如何在Android中正确使用getWordsList()?我是否使用了正确的生成版本?我使用此版本而不是getWordList():
希望它能起作用。我用这个代替getWordList():
希望它能起作用。您没有附上用于请求的代码,但请确保您正在将SetEnableWordTimeOffset添加到识别器请求:
public void recognizeInputStream(InputStream stream) {
try {
mApi.recognize(
RecognizeRequest.newBuilder()
.setConfig(RecognitionConfig.newBuilder()
.setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
.setLanguageCode("en-US")
.setSampleRateHertz(16000)
.setEnableWordTimeOffsets(true)
.build())
.setAudio(RecognitionAudio.newBuilder()
.setContent(ByteString.readFrom(stream))
.build())
.build(),
mFileResponseObserver);
} catch (IOException e) {
Log.e(TAG, "Error loading the input", e);
}
}
您没有附上用于请求的代码,但请确保您正在将SetEnableWordTimeOffset添加到识别器请求:
public void recognizeInputStream(InputStream stream) {
try {
mApi.recognize(
RecognizeRequest.newBuilder()
.setConfig(RecognitionConfig.newBuilder()
.setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
.setLanguageCode("en-US")
.setSampleRateHertz(16000)
.setEnableWordTimeOffsets(true)
.build())
.setAudio(RecognitionAudio.newBuilder()
.setContent(ByteString.readFrom(stream))
.build())
.build(),
mFileResponseObserver);
} catch (IOException e) {
Log.e(TAG, "Error loading the input", e);
}
}
这没有提供getWordsList应该提供的元数据。这没有提供getWordsList应该提供的元数据。很遗憾,目前没有正确的生成版本供您使用。谷歌云Java客户端库。也就是说,可能有办法让这些库正常工作,但由于它们没有得到官方支持,因此预计不会有所有的功能。遗憾的是,目前没有正确的构建版本供您使用。谷歌云Java客户端库。也就是说,可能有一些方法可以让这些库正常工作,但由于它们没有得到官方支持,因此预计不会有所有的功能。
public void recognizeInputStream(InputStream stream) {
try {
mApi.recognize(
RecognizeRequest.newBuilder()
.setConfig(RecognitionConfig.newBuilder()
.setEncoding(RecognitionConfig.AudioEncoding.LINEAR16)
.setLanguageCode("en-US")
.setSampleRateHertz(16000)
.setEnableWordTimeOffsets(true)
.build())
.setAudio(RecognitionAudio.newBuilder()
.setContent(ByteString.readFrom(stream))
.build())
.build(),
mFileResponseObserver);
} catch (IOException e) {
Log.e(TAG, "Error loading the input", e);
}
}