用於iphone語音變化的應用(目標c)中,我試圖從記錄音頻隊列緩衝器採取取樣的整數值,它們的過程中的功能和寫修改後的值返回到回放緩衝器。 目前我使用這樣的事情如何從音頻隊列緩衝區中提取整數採樣並將修改後的採樣寫回?
AudioBuffer audioBuffer = bufferList->mBuffers[0];
int bufferSize = audioBuffer.mDataByteSize/sizeof(SInt32);
SInt32 *frame = audioBuffer.mData;
SInt32 signalInput[22050];
for(int i=0; i<bufferSize; i++) {
SInt32 currentSample = frame[i];
*(signalInput +i) = currentSample;
}
提取採樣數據,似乎工作得很好(signalinput應該是寫整數樣本目標向量)。 但它們寫回緩存仍然是一個問題...... 我搜索論壇的文檔和大量的找到一個解決方案,但沒有成功呢。
如果你想修改實時音頻您可能需要使用RemoteIO音頻單元,而不是嘗試這樣的id是非常感激的任何建議, 在此先感謝,盧卡斯
感謝您的快速響應。 - 錄音部分已經在工作。例如,我想改變回調以修改記錄的樣本,然後將它們寫入文件。不管怎樣,是否有可能,如果是這樣,我如何直接訪問音頻緩衝區的記錄樣本(不管是音頻隊列還是音頻單元)。 – Lukas 2011-01-28 20:12:44