Android zeichnet Audio während der Spracherkennung auf
Ich verwende einen Cloud-Dienst eines Drittanbieters für Android zur Spracherkennung. Dieser Dienst funktioniert auch mit der Android-API SpeechRecognizer. Code unten:
Intent recognizerIntent =
new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
// accept partial results if they come
recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
//need to have a calling package for it to work
if (!recognizerIntent.hasExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE)) {
recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "com.example.speechrecognition");
}
recognizer = SpeechRecognizer.createSpeechRecognizer(context);
recognizer.setRecognitionListener(this);
recognizer.startListening(recognizerIntent);
Zur gleichen Zeit möchte ich das Audio mit verschiedenen Audioeinstellungen wie Frequenz, Kanäle, Audioformat usw. aufnehmen. Dann werde ich diesen Audiopuffer kontinuierlich analysieren. Ich benutze den AudioRecord für diesen Zweck. Das funktioniert gut nur ich schalte die Spracherkennung aus.
Wenn ich Audio- und Spracherkennung gleichzeitig aufzeichne, tritt ein Fehler auf.
E/AudioRecord: start() status -38
Wie diese Art von Funktion implementiert wurde, habe ich auch versucht, natives Audio zu verwenden - SLRecordItf funktioniert ebenfalls nicht.