Android — SuperpoweredRecorder: не создает временный файл или запись аудио

Я думаю, что я передаю SuperpoweredAndroidAudioIO к SuperpoweredRecorder«s process() метод неверно.

Мой обратный вызов процесса выглядит следующим образом:

bool SuperpoweredExample::process(short int *audioIO, unsigned int numberOfSamples) {
if (recording) {
recordProcess(audioIO, numberOfSamples);
}
return true;

recordProcess:

void SuperpoweredExample::recordProcess(short *input, unsigned int numberOfSamples) {

SuperpoweredShortIntToFloat(input, stereoBuffer, numberOfSamples);

__android_log_print(ANDROID_LOG_VERBOSE, "SuperpoweredExample", "%i",
recorder->process(stereoBuffer, NULL, numberOfSamples));
}

SuperpoweredRecorder«s process() всегда возвращает 0, поэтому запись еще не началась. Я предполагаю, что это потому, что я неправильно передаю ввод.

Дополнительный соответствующий код:

stereoBuffer = (float *) memalign(16, (buffersize + 16) * sizeof(float) * 2);
audioSystem = new SuperpoweredAndroidAudioIO(samplerate, buffersize, true, true,
audioProcessing, this, -1, SL_ANDROID_STREAM_MEDIA,
buffersize * 2);

Мой onRecord ():

void SuperpoweredExample::onRecord(bool record) {
if (!record) {
recording = false;
recorder->stop();
} else {
recording = true;
__android_log_print(ANDROID_LOG_VERBOSE, "SuperpoweredExample", "%s", tempPath.c_str());
recorder->start((tempPath + "_TEMP").c_str());
};
}

Как я могу получить SuperpoweredRecorder создавать файлы?

Я попытался создать еще один буфер только для записи, но у меня та же проблема. Должен ли я использовать createWav()? Он говорит, что использовать это только для автономной обработки.

2

Решение

Я добавил отдельный буфер для записи, и это, похоже, работает.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]