Android 음성 인식 기술 상세 설명 및 인 스 턴 스 코드

오늘 인터넷 에서 예 를 찾 아 음성 인식 을 실 현 했 습 니 다.개인 적 으로 재 미 있 을 것 같 아서 코드 를 붙 여 여러분 과 공유 하 겠 습 니 다.
         Android 에 서 는 주로 RecognizerIntent 를 통 해 음성 인식 을 실현 하 는데,사실 코드 는 비교적 간단 하지만 설정 을 찾 지 못 하면 이상 Activity NotFoundException 을 던 지기 때문에 이 이상 을 포착 해 야 합 니 다.또한 음성 인식 은 시 뮬 레이 터 에서 테스트 할 수 없습니다.음성 인식 은 구 글 클 라 우 드 데 이 터 를 방문 하 는 것 이기 때문에 핸드폰 네트워크 가 켜 지지 않 으 면 소 리 를 식별 할 수 없습니다!반드시 핸드폰 의 네트워크 를 켜 야 합 니 다.만약 에 핸드폰 에 음성 인식 기능 이 존재 하지 않 는 다 면 식별 을 사용 할 수 없습니다!
        다음은 Recognizer Intent Activity 의 코드 입 니 다.

    
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+=results.get(i); 
      } 
      Toast.makeText(this, resultString, 1).show(); 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
  } 
} 

      
        그 주요 원 리 는 음성 을 구 글 클 라 우 드 에 보 낸 다음 클 라 우 드 에서 처리 하고 해당 하 는 데이터 와 일치 하여 클 라 이언 트 에 보 내 는 것 이다.
          마지막 으로 manifest 에 네트워크 접근 권한 을 추가 하 는 것 을 잊 지 마 세 요:
       
        실행 후 효과:
    
    음성 시작 버튼 을 누 르 고 말 을 시작 합 니 다.
    
      클 라 우 드 데 이 터 를 기다 리 고 있 습 니 다.2G 카드 이기 때문에 오랫동안 기 다 렸 지만 불 러 올 수 없습니다.회사 에 돌아 오 면 회사 와 이 파이 로 해 보 세 요.클 라 우 드 데 이 터 를 얻 으 면 Toast 방식 으로 인쇄 할 것 입 니 다.
이상 은 안 드 로 이 드 음성 인식 기술 에 대한 자료 정리 입 니 다.추 후 관련 자 료 를 계속 보충 하 겠 습 니 다.본 사이트 에 대한 지원 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기