2016-11-11 30 views
2

我想我错误地将SuperpoweredAndroidAudioIO传递给SuperpoweredRecorderprocess()方法。SuperpoweredRecorder:不创建临时文件或录制任何音频

我的过程中的回调看起来象下面这样:

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

我继陕西():

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()吗?它说只用于离线处理。

回答

1

我添加了一个单独的缓冲区进行录制,似乎工作。

+0

我以为你说你已经尝试创建另一个缓冲区只是为了录制? – user1147171

相关问题