Android SpeechRecognizer音频录制错误

时间:2017-09-23 04:54:53

标签: android voice-recognition

我正在尝试在没有Intent Dialog的情况下在Android上使用SpeechRecognizer。它在大多数设备上都能正常工作,但有些设备会返回音频录制错误(错误代码3),并且此错误没有详细说明。这有什么解决方案或理由吗?

谢谢!

4 个答案:

答案 0 :(得分:4)

当Google App(com.google.android.googlequicksearchbox)没有录制权限时,我遇到了同样的错误。

此外,SpeechRecognizer使用com.google.android.googlequicksearchbox的服务。因此,如果禁用或卸载此应用程序,则SpeechRecognizer可能无法正常工作。

答案 1 :(得分:2)

您应该转到系统设置,应用程序,Google应用程序,然后启用其麦克风权限。这正是ERROR_AUDIO(错误代码3)的原因。

答案 2 :(得分:0)

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

在清单中设置此项。如果仍然无法正常工作,请说明哪个设备导致错误。

答案 3 :(得分:-1)

错误代码6表示错误语音超时,而音频录制错误的值为3(请参阅此处:https://developer.android.com/reference/android/speech/SpeechRecognizer.html)。 假设您有错误语音超时,您可以执行以下操作:

 List<WebElement> listofimages = driver.findElements(By.tagName('img'));
  for(WebElement d : listofimages){

 URLConnection urlConnection = new URL(d.getAttribute("src")).openConnection();
 size = urlConnection.getContentLength();}
 //get the locator to image here
 WebElement we = driver.findElement(Locator_to_image_here);

 URLConnection urlConnection = new URL(we.getAttribute("src")).openConnection();
 size = urlConnection.getContentLength();

}

这将允许您重新启动SpeechRecognizer。

另一方面,如果您在录音错误方面遇到困难,我很乐意找到解决方案,因为我遇到了同样的问题。