2017-09-17 3 views
0

Ich habe Probleme bei der Implementierung der SuperpoweredRecorderStoppedCallback in der Super Powered SDK für Android. Ich habe versucht, es genau wie die Spielerrückrufe im CrossedExample einzurichten, aber ich muss etwas verpassen.Rückruf in Android nativ für Superpowered Audio SDK

static void recordCallback(void *clientData) { 
    __android_log_print(ANDROID_LOG_DEBUG, "LOG_callback record", "text:%i ", 
clientData); 
}; 

Dann versuche ich den Recorder wie die Spieler einzurichten - ich habe es ganz gut die Aufzeichnung von Audio, aber ich erhalte keinen Rückruf.

SuperpoweredExample::SuperpoweredExample(unsigned int samplerate, unsigned int buffersize, const char *path, int fileAoffset, int fileAlength, int fileBoffset, int fileBlength, const char *testPath[]) : activeFx(0), crossValue(0.0f), volB(0.0f), volA(1.0f * headroom) { 
stereoBuffer = (float *)memalign(16, (buffersize + 16) * sizeof(float) * 2); 
stereoBufferRecording = (float *)memalign(16, (buffersize + 16) * sizeof(float) * 2); 
this->sampleRate = sampleRate; 

playerA = new SuperpoweredAdvancedAudioPlayer(&playerA , playerEventCallbackA, samplerate, 0); 
playerA->open(path, fileAoffset, (fileAlength)); 
playerB = new SuperpoweredAdvancedAudioPlayer(&playerB, playerEventCallbackB, samplerate, 0); 
//playerB->open(path, fileBoffset, (fileBlength)); 
playerB->open(testPath[1],0,0); 

playerA->syncMode = playerB->syncMode = SuperpoweredAdvancedAudioPlayerSyncMode_TempoAndBeat; 

roll = new SuperpoweredRoll(samplerate); 
filter = new SuperpoweredFilter(SuperpoweredFilter_Resonant_Lowpass, samplerate); 
flanger = new SuperpoweredFlanger(samplerate); 

recorder = new SuperpoweredRecorder (temp, Sample, 1,2, false, recordCallback, __null);

audioSystem = new SuperpoweredAndroidAudioIO(samplerate, buffersize, false, true, audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA, buffersize * 2); 
audioSystemRecording = new SuperpoweredAndroidAudioIO(sampleRate, buffersize, true, false, audioProcessingRecording, this, buffersize * 2); 
} 

Dank für irgendwelche Gedanken!

Antwort

0

Der Callback wird nach dem Aufruf von recorder-> stop() ein wenig aufgerufen. Bitte beachten Sie, dass Sie NULL für die clientData übergeben, die Sie dann zu drucken versuchen.

+0

Ich habe den Recorder eingerichtet und funktioniert, aber ich sehe nichts drucken nach Recorder-> stop(). Ich habe versucht, andere Daten außer NULL ohne Wirkung zu übergeben. Meine Player-Callbacks funktionieren einwandfrei. Das sieht aber generell korrekt aus? –

+0

Was sieht im Allgemeinen korrekt aus? –

+0

Mein Code für die Implementierung des Rückrufs? –

Verwandte Themen