SuperpoweredRecorder:不创建临时文件或录制任何音频

SuperpoweredRecorder: not creating temp file or recording any audio

本文关键字:任何 音频 临时文件 创建 SuperpoweredRecorder      更新时间:2023-10-16

我认为我将SuperpoweredAndroidAudioIO传递给SuperpoweredRecorderprocess()方法不正确。

我的进程回调如下所示:

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));
}

SuperpoweredRecorderprocess()总是返回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()吗?

我添加了一个单独的缓冲区用于记录,这似乎工作