2016-08-30 5 views
4

에서 명령 목소리로 음성 입력을 여는 방법 :의 differents 방법 (버튼 이벤트, 제스처, 라이프 사이클) 나는 음성 입력 프롬프트를 열려면이 메소드를 호출 할 수와안드로이드 :이 코드 내 응용 프로그램

private void promptSpeechInput() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, 
      getString(R.string.speech_prompt)); 
    try { 
     startActivityForResult(intent, REQ_CODE_SPEECH_INPUT); 
    } catch (ActivityNotFoundException a) { 
     Toast.makeText(getApplicationContext(), 
       getString(R.string.speech_not_supported), 
       Toast.LENGTH_SHORT).show(); 
    } 
} 

Google 검색 필드에서 마이크 아이콘을 클릭 한 것과 같은 방식으로 좋습니다.

하지만 지금은 명령 음성을 사용하여이 메서드를 호출해야합니다. 이제 Google에서와 마찬가지로 "Ok Google"이라고 말하면 음성 입력 프롬프트가 나타납니다. 내 애플 리케이션 안에 이것을하고 싶다. 예를 들어, 나는 주 활동을하고 있는데 "hear me"라고 말하면 promptSpeechInput 메서드가 호출됩니다.

어떻게하면됩니까?

도움 주셔서 감사합니다.

답변

1

Voice Actions API을 통해 앱은 system actions에 등록 할 수 있습니다. 그 중 하나는 '검색'입니다 (따라서 'APP에 대한 일부 질문 또는 명령 검색'을 할 수 있습니다).

과거에 일부 개발자는 submit a custom voice action request 수있었습니다. 승인되면 사용자는 음성으로 특정 작업을 수행 할 수 있습니다. 이것은 더 이상 선택 사항이 아닙니다.

+0

감사합니다 @ LychmanIT, 나는 그것을 테스트하고 이것은 잘 작동합니다. 내가 생각한 해결책을위한 최선의 방법은 아니지만 다음과 같이 할 수 있습니다. 모든 화면에서 'Ok Google'을 사용하도록 설정할 수 있습니다. 사용자가 앱에있을 때 Google을 사용하여 검색을 수행 할 수 있으며이 명령을 받고 메소드를 호출 할 수 있습니다. 아름다운 솔루션은 아니지만 음성 명령 만 사용하여 응용 프로그램을 조작 할 수 있습니다. –

+0

테스트 프로젝트를 만들었는데 문제가 있습니다. 검색은 영어를 사용하여 잘 작동하지만 브라질 출신이기 때문에 YouTube의 경우에도 검색이 작동하지 않습니다. 그래서 나는 다른 방법으로 시도 할 것이다. –

+0

예, @ Simon_Phoenix의 옵션이 내 것보다 낫습니다. 행운을 빌어 요. – LychmanIT

3

알다시피, 당신은 자신의 깨어나는 말을 선언 할 수 없습니다. 당신은 OK Google을 고수하고 있습니다. LychmanIT에서 참조하는 Voice Action API를 사용할 수 있지만 OK Google이라고 말한 후에 만 ​​의도를 처리합니다.

CMUSphynx을 살펴볼 가치가 있습니다. 이 기능을 사용하면 맞춤식 수신기를 정의 할 수 있지만이 워크 플로에 대해 Google이 승인 한 솔루션이 아니므로 요구 사항에 따라 적합하지 않을 수 있습니다. 나는 성공을 위해 프로토 타이핑을 해봤지만 꽤 잘 돌아 간다.

+0

@SimonPhoenix에 감사드립니다.이게 도움이 될 것 같습니다. 나는 그것을 사용하여 테스트 프로젝트를 만들고 나는 당신에게 경고하러 올 것이다. –

관련 문제