Надеюсь, этот вопрос не слишком расплывчатый.Я пытаюсь взять информацию из аудио-буфера в этом проекте XCode и использовать его для создания некоторого DSP.
framebuffer указывает на массив значений, которые я хотел бы передать в функцию, выполнить цикл и, наконец,подключить в исходный буфер.Метод будет действовать как звуковой фильтр или эффект.
Может быть, чтобы сохранить мой вопрос как можно более ясным, могли бы мы получить пример подпрограммы, которая добавит 0,25 к каждому образцу в буфере?
Вот код на данный момент:
static OSStatus playbackCallback(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData) {
EAGLView *remoteIOplayer = (EAGLView *)inRefCon;
for (int i = 0 ; i < ioData->mNumberBuffers; i++){
//get the buffer to be filled
AudioBuffer buffer = ioData->mBuffers[i];
short *frameBuffer = (short*)buffer.mData;
for (int j = 0; j < inNumberFrames; j++){
// get NextPacket returns a 32 bit value, one frame.
frameBuffer[j] = [[remoteIOplayer inMemoryAudioFile] getNextPacket];
}
EAGLView* thisView = [[EAGLView alloc] init];
[thisView DoStuffWithTheRecordedAudio:ioData];
[thisView release];
}
return noErr;
}