Crea un menú de estilo "ok glass", dentro de la aplicación glass
Acabo de comenzar a desarrollar para Google Glass, y sabía que el GDK si bastante nuevo por lo que no puede ser posible, pero aquí es lo que estoy tratando de:
Al igual que con el mensaje "hacer una llamada" o el mensaje "enviar un mensaje a" en la pantalla "okay glass", quisiera que mi aplicación tuviera más opciones de voz seleccionadas cuando la seleccionas con tu voz. Con los dos ejemplos, verá una lista de contactos, con los que puede asentir con la cabeza hacia arriba y hacia abajo para ver más, y la aplicación solo tomará más acciones si ha seleccionado una de las opciones mostradas. ¿Hay alguna forma de hacerlo en mi propia aplicación?
- Cómo funciona el reconocimiento de voz en android?
- Comando de voz de vidrio más cercano a la lista dada
- Cómo extender los comandos de voz de Google Now en Android con acciones personalizadas
- Reconocimiento de voz sin cuadros de diálogo de Google
- ¿El reconocedor de voz de Google en Android necesita Internet?
Cualquier entrada es apreciada!
- ¿Está ocupado el servicio de reconocimiento de voz de Android?
- API de reconocimiento de voz de Android fuera de línea
- ¿Puedo usar Android SpeechRecognition en un Kindle Fire HD?
- Cómo configurar el idioma en el reconocimiento de voz en Android?
- Android: Acceso simultáneo al micrófono (RecognizerIntent + propia aplicación)
- Android Speech Reconocimiento de voz: Llamada repetida de SpeechRecognizer.startListening () falla en JB 4.1.2
- Android: ¿Es posible reposicionar la ventana emergente de reconocimiento de voz?
- Android: ¿Dónde está grabado el archivo de audio temp de reconocimiento de voz?
Puede llamar a una intención para mostrar el Reconocedor de voz después de que su Actividad haya comenzado. Por lo tanto, usted podría tener su disparador de voz y la solicitud de la puesta en marcha, y, a continuación, en OnResume de su actividad (), llame al Reconocedor de voz, con algún tipo de mensaje (o simplemente podría encadenar el discurso inicial recogido en este como el mensaje) :
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "ok glass, here's my prompt" ); startActivityForResult(intent, 0);
Entonces necesitaría un método onActivityResult () para procesar el formulario de devolución de VoiceRecognizer.
Éste es el descrito en los documentos de GDK: https://developers.google.com/glass/develop/gdk/input/voice
No estoy seguro de si hay alguna otra manera.
Encontré esta respuesta de otra pregunta tan que parece exactamente como usted desea. Lo he probado yo mismo para mi propia cristalería y funciona perfectamente. Como se menciona en la respuesta a continuación, una advertencia de que otras aplicaciones que utilizan el mismo comando de voz "ok glass" compartirán el submenú; En el siguiente ejemplo, por ejemplo, alguna otra aplicación puede agregar otros juegos como "golf". Otro problema potencial es que debe tener una Actividad o Servicio para cada una de las opciones que desee en el submenú.
"Si tiene varias actividades / servicios instalados en Glass que tienen el mismo filtro de intención de activación por voz, todos sus nombres (basados en el atributo android:label
de la android:label
<activity>
o <service>
de AndroidManifest.xml
) aparecerán en Un "submenú" de la desambiguación cuando usted habla ese disparador de la voz.
Por ejemplo (suponga que res/xml/play_a_game_trigger.xml
representa un disparador de voz para la cadena "play a game" ):
<activity android:label="Tennis"> <intent-filter> <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger" android:resource="@xml/play_a_game_trigger" /> </activity> <activity android:label="Bowling"> <intent-filter> <action android:name="com.google.android.glass.action.VOICE_TRIGGER" /> </intent-filter> <meta-data android:name="com.google.android.glass.VoiceTrigger" android:resource="@xml/play_a_game_trigger" /> </activity>
Le daría un flujo de menú de voz que parece
ok glass → play a game → Tennis Bowling
Observe, sin embargo, que este menú también incluiría actividades / servicios de otros APK que usan el mismo activador de voz también.
Puede encontrar más detalles en la página de entrada de voz de la documentación de GDK. "
¿Le pregunta si puede agregar un comando de voz a Glass que activará su aplicación? Si es así – absolutamente. Esta es, de hecho, la forma sugerida de iniciar una aplicación en el GDK.
Consulte https://developers.google.com/glass/develop/gdk/input/voice#launching_glassware para obtener los detalles, pero básicamente
- Agregue recursos a
res/values/strings.xml
describiendo el desencadenador y el indicador - Cree un recurso en
res/xml/<my_voice_trigger>.xml
que utiliza el valor de cadena como palabra clave y establece el indicador de entrada - Registrar un filtro de intenciones para la acción VOICE_TRIGGER
(Como un aparte, parece que los verbos son los mejores disparadores de voz para usar – que fluyen más naturalmente con la opción de menú "ok, vidrio".)
Ahora puede utilizar el apis marco para mostrar un menú de cristal en su actividad, consulte este Documentos acerca de los comandos de voz contextuales
https://developers.google.com/glass/develop/gdk/voice#contextual_voice_commands
- JNI manteniendo una referencia global a un objeto, accediendo a ella con otros métodos JNI. Mantener un objeto C ++ activo en varias llamadas JNI
- Cómo agregar desplazamiento para una vista personalizada en Android