Hoje viemos trazer uma dica de android, para aqueles que desejam aprimorar um app, ou até mesmo, montar um app novo usando esse conceito. Vamos falar sobre o reconhecimento de voz.
Quando fui utilizar o reconhecimento em um app que eu estava construindo, assim como todos fazem, fui pesquisar. Na internet encontrei vários exemplos, mas muitos mostravam de uma maneira complicada, o que dificultava a implementação no projeto, mas depois de alguns testes consegui implementar de uma maneira bem simples.
O teste que vou mostrar aqui funciona da seguinte maneira:
- Na primeira tela será implementada uma ListView (invisible de preferencia), pois é nela que será a comparação da palavra reconhecida.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_centerHorizontal="true"
android:visibility="invisible"
android:background="#ffffee8c"
/>
Ficará mais ou menos dessa maneira.
- Na Action desse seu .xml deverá ser implementado da seguinte maneira:
Na sua classe use o implements OnCompletionListener
De acordo com o app que você estará criando, você fará uma chamada para o método onCompletion. Esse método irá abrir a tela de reconhecimento de voz:
Ficará mais ou menos dessa maneira.
- Na Action desse seu .xml deverá ser implementado da seguinte maneira:
Na sua classe use o implements OnCompletionListener
De acordo com o app que você estará criando, você fará uma chamada para o método onCompletion. Esse método irá abrir a tela de reconhecimento de voz:
public void onCompletion() { Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); i.putExtra(RecognizerIntent.EXTRA_PROMPT, "Fale agora"); startActivityForResult(i, check); }
Ela irá mandar para o método que irá implementar na listView o resultado obtido.
Uma variável pegará o primeiro resultado para comparação da palavra correta.
|