2017-09-23 148 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可能无法工作。