2017-09-23 145 views
0

我正在試圖在Android上使用SpeechRecognizer而沒有目標對話框。它可以在大多數設備上正常工作,但某些設備會返回音頻錄製錯誤(錯誤代碼3),並且此錯誤沒有詳細信息。有沒有解決辦法或原因?Android SpeechRecognizer音頻錄製錯誤

謝謝!

+1

一旦嘗試與RECORD_AUDIO的許可和檢查。 –

+0

使用Log.d(「test」,audiorecorder); 。並在該設備無法運行的設備上運行該應用。使用後,請在這裏發佈什麼是寫在logcat調試 – Zoffa

+0

RECORD_AUDIO是alrady添加。 –

回答

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

在清單中設置此項。如果仍然不能工作,則說明哪個設備導致錯誤。

+0

這兩個權限都已添加。大多數聯想設備有問題 –

-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應用(com.google.android.googlequicksearchbox)沒有錄製權限時,我發生同樣的錯誤。

此外,SpeechRecognizer使用com.google.android.googlequicksearchbox的服務。因此,如果此應用程序被禁用或卸載,SpeechRecognizer可能無法工作。