I'm trying to mix SuperpoweredAdvancedAudioPlayers and write to a wav file. I called recorder->start(path)
and recorder->stop()
, but nothing gets written to disk. I have correct storage permissions in my manifest. I googled other people's code and came up with this:
My process:
bool SuperpoweredExample::process(short int *output, unsigned int numberOfSamples) {
double masterBpm = players[0]->currentBpm;
double msElapsedSinceLastBeat = players[0]->msElapsedSinceLastBeat;
uint16_t i;
bool silence = true;
for (i=rs=0; i<NUMPLAYERS; i++) {
if (players[i]->process(stereoBuffer, !silence, numberOfSamples, volume[i] * 0.25, masterBpm, msElapsedSinceLastBeat))
silence = false;
}
if (!silence) {
recorder->process(stereoBuffer, 0, buffersize);
}
if (!silence) {
SuperpoweredFloatToShortInt(stereoBuffer, output, numberOfSamples);
}
return !silence;
}
Initialization:
recorder = new SuperpoweredRecorder(tempPath, samplerate, 1);
audioSystem = new SuperpoweredAndroidAudioIO(samplerate, buffersize, false, true, audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA, buffersize * 2);
Any ideas?