2
我想我錯誤地將SuperpoweredAndroidAudioIO
傳遞給SuperpoweredRecorder
的process()
方法。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));
}
SuperpoweredRecorder
的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);
我繼陝西():
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()
嗎?它說只用於離線處理。
我以爲你說你已經嘗試創建另一個緩衝區只是爲了錄製? – user1147171