2017-09-23 8 views
0

J'essaie d'utiliser SpeechRecognizer sur Android sans dialogue Intent. Cela fonctionne très bien sur la plupart des périphériques, mais certains périphériques renvoient l'erreur d'enregistrement audio (code d'erreur 3) et il n'y a aucun détail pour cette erreur. Y a-t-il une solution ou une raison à cela?Android SpeechRecognizer Erreur d'enregistrement audio

Merci!

+1

Une fois essayez avec l'autorisation de RECORD_AUDIO et vérifiez. –

+0

Utilisez Log.d ("test", audiorecorder); . et exécutez l'application dans cet appareil dans lequel il ne fonctionne pas. après l'utilisation, s'il vous plaît poster ici ce qui est écrit dans le débogage de logcat – Zoffa

+0

RECORD_AUDIO est alrady ajouté. –

Répondre

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

Set dans votre manifeste. si cela ne fonctionne toujours pas, indiquez quel périphérique est à l'origine de l'erreur.

+0

Les deux autorisations ont déjà été ajoutées. Surtout les appareils Lenovo ont un problème –

-1

Le code d'erreur 6 signifie Erreur d'expiration de la parole, alors que l'erreur d'enregistrement audio a la valeur 3 (voir ici: https://developer.android.com/reference/android/speech/SpeechRecognizer.html). En supposant que vous avez erreur Speech délai d'attente, vous pouvez effectuer les opérations suivantes:

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

Cela vous permettra de redémarrer votre SpeechRecognizer. En revanche, si vous rencontrez des difficultés avec l'enregistrement audio, je serais heureux de trouver la solution, car je suis confronté au même problème.

+0

Oui .. C'était mon erreur .. C'était erreur Code 3. –

1

J'ai eu la même erreur lorsque Google App (com.google.android.googlequicksearchbox) n'a pas d'autorisation d'enregistrement. En outre, SpeechRecognizer utilise le service de com.google.android.googlequicksearchbox. Ainsi, si cette application est désactivée ou désinstallée, SpeechRecognizer peut ne pas fonctionner.