English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Detalhes e código de exemplo da tecnologia de reconhecimento de voz no Android

   Hoje, encontrei um exemplo na internet que implementou o reconhecimento de voz e achei que era bem divertido, então vou postar o código para compartilhar com todos:

         No Android, a reconhecimento de voz é principalmente implementado através de RecognizerIntent, embora o código seja simples, se não encontrar a configuração, lançará uma exceção ActivityNotFoundException, então precisamos capturar essa exceção. Além disso, o reconhecimento de voz não pode ser testado no simulador, pois o reconhecimento de voz acessa dados na nuvem do Google, então se o telefone não tiver a internet ligada, não será possível realizar o reconhecimento de voz! Certifique-se de que a internet do telefone esteja ligada, se o telefone não tiver a função de reconhecimento de voz, também não será possível ativá-la!

        A seguir está o código dentro de RecognizerIntentActivity:

public class RecognizerIntentActivity extends Activity { 
  private Button btnReconizer; 
  private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.reconizer); 
    btnReconizer = (Button) this.findViewById(R.id.btnRecognizer); 
    btnReconizer.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        // TODO Auto-generated method stub 
        try{ 
        //通过Intent传递语音识别的模式,开启语音 
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
        //语言模式和自由模式的语音识别 
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
        //提示语音开始 
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "开始语音"); 
        //开始语音识别 
        startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE); 
        } catch (Exception e) { 
          // TODO: handle exception 
          e.printStackTrace(); 
          Toast.makeText(getApplicationContext(), "找不到语音设备", 1).show(); 
        } 
      } 
    }); 
  } 
  @Override 
  protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    //回调获取从谷歌得到的数据  
    if(requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) { 
      //取得语音的字符 
      ArrayList<String> results = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
      String resultString=""; 
      for(int i=0;i<results.size();i++{ 
        resultString+ 
      } 
      Toast.makeText(this, resultString, 1).show(); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
  } 
} 

      

        Seu princípio principal é enviar o áudio para a nuvem do Google, depois processar na nuvem, coincidir com os dados correspondentes e enviar para o cliente.
          Não se esqueça de adicionar permissão de acesso à rede no manifest:

<uses-permission android:name="android.permission.INTERNET" />       

        Efeito após a execução:

    

    Clique no botão Iniciar Voz e comece a falar (certifique-se de que a rede do telefone está aberta):

    

      Estou aguardando dados em nuvem, devido a isso2O cartão G, após esperar por muito tempo, ainda não foi carregado, tentei na rede wifi da empresa quando voltei para a empresa, se obter dados em nuvem, serão impressos de forma Toast.

Aqui está a compilação de materiais sobre a tecnologia de reconhecimento de voz Android, continuaremos a complementar materiais relacionados, obrigado pelo suporte da comunidade!

Declaração: O conteúdo deste artigo é da internet, pertence ao respectivo autor, foi carregado voluntariamente por usuários da internet, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w3Declaração: O conteúdo deste artigo foi extraído da internet, pertence ao respectivo autor, foi carregado por usuários da internet de forma voluntária, este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade por questões legais relacionadas. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#w

Você também pode gostar