Mein Ziel ist es, lokale Datei zu spielen, während Mikrofoneingang des Geräts mit niedriger Latenz aufzuzeichnen. Ich bin in die Superpowered-Bibliothek gekommen, weil sie aus der Dokumentation Funktionen mit geringer Latenz bietet. Ich habe den Player mit SuperpoweredAdvancedAudioPlayer und SuperpoweredAndroidAudioIO erstellt und es spielt gut.Android Superpowered SDK Aufnahme und Wiedergabe gleichzeitig
SuperpoweredAndroidAudioIO hat das Konstrukt mit Parametern boolean enableInput, boolean enableOutput. Derzeit verwende ich enableInput == false und enableOutput == true. Wenn ich diese Parameter auf "True" setze - kein Effekt.
Ich frage mich, ob es möglich ist, eine Datei aufzunehmen und andere Dateien gleichzeitig abzuspielen?
Auch gibt es SuperpoweredRecorder-Klasse in der Bibliothek, aber es heißt nicht zum direkten Schreiben auf die Festplatte. Und müssen Sie createWAV, fwrite, closeWAV Methoden verwenden. Ich habe versucht Recorder separat zu implementieren, aber die Qualität ist nicht gut (es ist zwei-drei mal schneller als echte Aufnahme + Sound ist verdreht). Hier ist der einfachste Teil des Codes für die Aufnahme I verwendet:
void SuperpoweredFileRecorder::start(const char *destinationPath) {
file = createWAV(destinationPath, sampleRate, 2);
audioIO = new SuperpoweredAndroidAudioIO(sampleRate, bufferSize, true, false, audioProcessing, NULL, bufferSize); // Start audio input/output.
}
void SuperpoweredFileRecorder::stop() {
closeWAV(file);
audioIO->stop();
}
static bool audioProcessing(void *clientdata, short int *audioInputOutput, int numberOfSamples, int samplerate) {
fwrite(audioInputOutput, sizeof(short int), numberOfSamples, file);
return false;
}
Wahrscheinlich kann ich nicht für diesen Zweck verwendet werden und müssen mit Superkräften direkt nur, um die Aufnahme mit OpenSL ES.
Vielen Dank im Voraus!
SuperpoweredAndroidAudioIO kümmert sich darum. Mehrere Instanzen zu haben, ist eine unnötige Menge an Code. –
Können Sie bitte erläutern, wie Sie die Ausgabe von Audio nach dem Anwenden von Effekten in einer Datei schreiben? –
@kasurd können Sie bitte GitHub Link der gleichen mit der richtigen Implementierung zu teilen. Das wird sehr hilfreich sein .. –