如何使用Android的实时演讲文字?

前端之家收集整理的这篇文章主要介绍了如何使用Android的实时演讲文字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Android 4.1中,您可以使用 keyboard上的麦克风选项获得实时演讲文字转换.

我一直在查看android.speech的文档,试图找出如何将实时语音实现为应用程序的文本.但是,唯一可以促成这一点的选项是“EXTRA_PARTIAL_RESULTS”选项(服务器每次尝试使用它时都会忽略).

代码

  1. Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
  2. intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
  3. intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"VoiceIME");
  4. intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS,true);
  5. intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS,3000L);
  6.  
  7. mSpeaker.startListening(intent);

从不返回部分结果.

我知道这是可能的,因为键盘版本是一贯的.有人知道吗

解决方法

在开始呼叫之前,您需要注册onPartialResults-callback.两个重要的事情要注意:

>调用onPartialResults的bundle的结构不是由Android API指定的;
>并不是每个语音识别器都支持这种回调.

因此,您的代码将专门针对Google语音搜索.

  1. mSpeaker.setRecognitionListener(new RecognitionListener() {
  2. ...
  3. public void onPartialResults(Bundle partialResults) {
  4. // WARNING: The following is specific to Google Voice Search
  5. String[] results =
  6. partialResults.getStringArray("com.google.android.voicesearch.UNSUPPORTED_PARTIAL_RESULTS");
  7. updateTheUi(results);
  8. }
  9. ...
  10. }

要在开源应用程序中查看此回调操作,请参阅Babble:

> Google Play:https://play.google.com/store/apps/details?id=be.lukin.android.babble
>源代码https://github.com/lukin0110/babble/blob/master/android/app/src/be/lukin/android/babble/BabbleActivity.java

猜你在找的Android相关文章