我正在尝试在没有Intent Dialog的情况下在Android上使用SpeechRecognizer。它在大多数设备上都能正常工作,但有些设备会返回音频录制错误(错误代码3),并且此错误没有详细说明。这有什么解决方案或理由吗?
谢谢!
答案 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。
另一方面,如果您在录音错误方面遇到困难,我很乐意找到解决方案,因为我遇到了同样的问题。