홈>
Android에서 개발 중이며
SpeechRecognizer
를 사용하고 있습니다.
지속적인 음성 인식을 구현합니다.
다음 코드를 통해 음성 인식을 시작한 후 :
private void startListening(){
recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en");
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getActivity().getPackageName());
recognizerIntent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS,Long.valueOf(3000L));
recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,1);
}
그리고
startListening()
에게 전화 해
다시
onEndOfSpeech
때
호출되었습니다.
onError
를 표시합니다.
.
Q1 :
왜
SpeechRecognizer.ERROR_RECOGNIZER_BUSY
내가
SpeechRecognizer
후 그것을 시작할 때 바쁘다
전화를 받았습니까?
Q2 연속 음성 인식의 crooect 방식을 구현하는 방법은 무엇입니까?
onEndOfSpeech
- 답변 # 1
관련 자료
- javascript - 'then'과 'catch'는 annother를 차례로 호출합니다
- jekyll - 원격 서버에서 npm을 시작한 후 http - //examplecom:3000/을 방문 할 수 없습니다
- c# - Close가 호출 된 후 SystemObjectDisposedException이 발생합니다
- android - 플러터에서 영웅 애니메이션 후 애니메이션 시작
- multithreading - threadstart ()가 java에서 호출 된 후 명령문의 흐름은 무엇입니까?
- racket - 목록이 비운 후 목록의 처음부터 체계 재귀 시작
- android - BroadcastReceiver가 등록 된 후에도 OnReceive가 호출되지 않습니다
- c# - OnTriggerEnter ()는 처음에 바로 호출됩니다
- python - task_done ()을 호출 한 후에도 큐가 여전히 참여하는 이유는 무엇입니까?
- java - 설치 후 Glassfish를 시작할 수 없음, Ubuntu 1804
- reactjs - "반응 스크립트 시작"후 순차적 NPM 스크립트
- partitioning - Ubuntu 2004로 이중 부팅을 설정 한 후 Windows 10이 시작되지 않음
- ubuntu20.04 - systemd - 업데이트 제거 스냅 후 사용자 데몬이 시작되지 않음
- javascript - js - 처음 호출 된 함수가 null 오류를 발생시킵니다
- wix - 앱을 설치하고 시작한 후 애플리케이션이 항상 맨 위에 표시되지 않습니다
- android - flutter 오류 - animationcontrollerdispose () 이후에 animationcontrollerstop () 호출
- 'sw - : redis :: movederror'의 인스턴스를 던진 후 redis 종료가 호출 됨
- javascript - setIcon이 Google지도라고 부르면 setVisible을 사용할 수 없습니다
- centos - pg_basebackup (복제) 후 Postgresql 12를 시작할 수 없습니다
- javascript - 객체 초기화 후 setInterval을 시작하는 방법은 무엇입니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
Android 음성 인식 라이브러리는 광범위하게 사용될 때 결국 시간 초과가 발생하도록 설계되었습니다.
따라서 Google이 왜 그렇게하는지에 대한 공식적인 문서는 없으며 Google 앱을 사용할 때도 지속적인 음성 인식이 없습니다
이 문제를 해결하려면 음성 콜백 메소드를 사용하여 오류를 파악하고 다시 들어 봐야합니다. 이 시간 초과 문제를 극복하기 위해 특별히 라이브러리를 만들었으며 이것이 귀하의 목적에도 도움이 될 것이라고 생각합니다.
Github-DroidSpeech로 가서 라이브러리를 프로젝트에 추가하거나 복제하거나 gradle 의존성을 사용할 수 있습니다. Droid Speech를 초기화하고 아래에 언급 된대로 리스너를 설정하면
사용자의 청취를 시작하려면 아래 코드를 호출하십시오.
청취자 방식으로 음성 결과를 얻습니다.
이 라이브러리를 다른 점은
<올>각 단어를 말한 후 지속적인 음성 인식 지원을 제공합니다.
라이브러리가이를 처리하고 문제를 완전히 제거하도록하기 때문에 통화 중 및 시간 초과 오류에 대해 걱정할 필요가 없습니다.
라이브러리를 초기화하고 리스너 메소드를 설정하는 것 외에 음성 인식 전용 코드를 작성할 필요가 없습니다.
필요한 경우 사용자에게 마이크 권한을 요청할 수 있습니다
오류가있는 경우