¿El reconocedor de voz de Google en Android necesita Internet?

Utilizo el siguiente código para invocar el reconocimiento de voz por google:

// This is a demonstration of Android's built in speech recognizer package com.example.voiceinputbuiltintest; import java.util.ArrayList; import java.util.Locale; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.speech.RecognizerIntent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private static final int VOICE_RECOGNITION = 1; Button speakButton ; TextView spokenWords; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); speakButton = (Button) findViewById(R.id.button1); spokenWords = (TextView)findViewById(R.id.textView1); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION && resultCode == RESULT_OK) { ArrayList<String> results; results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); // TODO Do something with the recognized voice strings Toast.makeText(this, results.get(0), Toast.LENGTH_SHORT).show(); spokenWords.setText(results.get(0)); } super.onActivityResult(requestCode, resultCode, data); } public void btnSpeak(View view){ Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); // Specify free form input intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"Please start speaking"); intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.ENGLISH); startActivityForResult(intent, VOICE_RECOGNITION); } } 

Esto funciona sin conexión de red en mi máquina de prueba que es Nexus 7 con Android 4.3. Pensé que funcionaría igual en cualquier dispositivo androide. Sin embargo, cuando lo pruebo en Samsung Galaxy S2 con la versión de Android gingerbread.el21, la actividad de reconocimiento de voz aparece, pero dice que necesita conexión a la red y se niega a trabajar. ¿Por qué funciona en Nexus 7 y no en Galaxy S2? ¿Funciona sin conexión o necesita conexión de red? Funciona en el Nexus 7 incluso cuando paro el wifi.

One Solution collect form web for “¿El reconocedor de voz de Google en Android necesita Internet?”

En jellybean el usuario necesita descargar el paquete de reconocimiento de voz offline.

Este artículo dice:

Anteriormente, cuando pulsó el icono de voz y pronunció un comando o una consulta, Android tuvo que digitalizar su voz, subirla a la nube, procesar la forma de onda, convertirla en texto y enviar el texto a su teléfono. Ahora los teléfonos son lo suficientemente potentes como para poder ser incorporados en el dispositivo, sin necesidad de red adicional de E / S. Como se puede imaginar esto se traduce en un reconocimiento de voz mucho más rápido que las versiones anteriores.

El usuario de la aplicación tendrá que hacer esto :

  1. Vaya a "Idioma y entrada" en el ajuste
  2. Pulse en "Descargar reconocimiento de voz en línea" en la sección "Búsqueda de voz"
  3. Elija el paquete de idioma que desea que su dispositivo Android reconozca
  4. Descargue el paquete y disfrute de la escritura de voz sin conexión

Otro enlace auxiliar:

Google ha restringido ciertos dispositivos Jelly Bean de usar el reconocimiento offline debido a restricciones de hardware.

  • Cómo abrir el teclado de Android en modo de voz de forma programática?
  • Descarga automática de idioma de reconocimiento de voz fuera de línea en Android
  • Android: Reconocimiento de voz sin usar el servidor de google
  • SpeechRecognizer con Google Search versión 3.6.14.1337016 no puede reconocer otro idioma de voz excepto el predeterminado
  • ¿Está ocupado el servicio de reconocimiento de voz de Android?
  • Android: ¿Dónde está grabado el archivo de audio temp de reconocimiento de voz?
  • Manejo de errores RecognitionListener
  • Detectar idiomas instalados para el reconocimiento sin conexión
  • Algoritmo para el reconocimiento de canciones
  • RecognizerIntent no funciona; "Falta paquete de llamada extra"
  • Reconocimiento de voz continua Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.