Voice to text on Android in offline mode

后端 未结 1 426
情深已故
情深已故 2020-12-29 17:18

Is there anyway in which I can use the Voice to Text feature of Android in offline mode.

In the given example VoiceRecognition.java, it starts and activity with the

相关标签:
1条回答
  • 2020-12-29 17:37

    I think you have two problems. First, yes the recognizer functionality is not available on all devices. Make sure you install and update the latest Google Voice Search for Android. I believe it installs the latest recognizer. See http://www.google.com/mobile/voice-actions/ it may be helpful.

    As Dante Jiang said in Converting speech to text, According to this article, Google Voice Search is what you actually need.

    The Android SDK makes it easy to integrate speech input directly into your own application—just copy and paste from this sample application to get started. Android is an open platform, so your application can potentially make use of any speech recognition service on the device that's registered to receive a RecognizerIntent. Google's Voice Search application, which is pre-installed on many Android devices, responds to a RecognizerIntent by displaying the "Speak now" dialog and streaming audio to Google's servers—the same servers used when a user taps the microphone button on the search widget or the voice-enabled keyboard. (You can check if Voice Search is installed in Settings ➝ Applications ➝ Manage applications.)

    In code, you should check to see if the recognition activity is present. I have the following snippet I've used:

    // Check to see if a recognition activity is present
    PackageManager pm = getPackageManager();
    List<ResolveInfo> activities = pm.queryIntentActivities(
            new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
    if (activities.size() != 0) 
    {
        speakButton.setOnClickListener(this);
    } 
    else 
    {
        speakButton.setEnabled(false);
        speakButton.setText(R.string.recognizer_not_present);
    }
    

    The second problem is that the Android voice recognition requires Internet connectivity. The recognition is not performed on the device, but rather uses Google web services. So, you must be online. Some info on the web services is available at http://waxy.org/2008/11/deconstructing_google_mobiles_voice_search_on_the_iphone/.

    0 讨论(0)
提交回复
热议问题