2017-09-23 18 views
0

Android에서 Intent Dialog없이 SpeechRecognizer를 사용하려고합니다. 대부분의 장치에서 정상적으로 작동하지만 일부 장치는 오디오 녹음 오류 (오류 코드 3)를 반환하며이 오류에 대한 세부 정보는 없습니다. 이것에 대한 해결책이나 이유가 있습니까?Android SpeechRecognizer 오디오 녹음 오류

감사합니다.

+1

일단 RECORD_AUDIO의 권한을 부여하고 확인하십시오. –

+0

Log.d ("test", audiorecorder)를 사용하십시오. . 작동하지 않는 기기에서 앱을 실행하십시오. 사용 후, 여기에 logcat debug – Zoffa

+0

에 기록 된 내용을 게시하십시오. RECORD_AUDIO가 추가되었습니다. –

답변

0
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 

매니페스트에 설정하십시오. 여전히 작동하지 않으면 어떤 장치가 오류를 일으키는 지 상태로 표시하십시오.

+0

두 권한이 이미 추가되었습니다. 대부분 Lenovo 기기에는 문제가 있습니다 –

-1

오류 코드 6은 오류 음성 제한 시간을 의미하고 오디오 녹음 오류는 값 3을 갖습니다 (여기를 참조하십시오 : https://developer.android.com/reference/android/speech/SpeechRecognizer.html 참조). 당신이 오류 연설 제한 시간을 가지고, 당신은 다음과 같은 작업을 수행 할 수 가정 :

public void OnError(SpeechRecognizerError error) { 
String errorMessage = error.ToString(); 
    if (errorMessage.Contains ("SpeechTimeout")) 
       { this.OnDestroy(); 
        this.OnCreate(); 
       } 
} 

이것은 당신이 당신 SpeechRecognizer를 다시 시작 할 수 있습니다.

반면에 오디오 녹음 오류에 어려움이있는 경우 동일한 문제에 직면하고 있으므로 솔루션을 찾을 수있어서 기쁩니다.

+0

예 .. 실수였습니다. 코드 3이 잘못되었습니다. –

1

Google App (com.google.android.googlequicksearchbox)에 녹음 권한이없는 경우에도 동일한 오류가 발생했습니다.

또한 SpeechRecognizer는 com.google.android.googlequicksearchbox의 서비스를 사용합니다. 따라서이 앱을 사용 중지하거나 제거하면 SpeechRecognizer가 작동하지 않을 수 있습니다.