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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage