Я пытаюсь сделать запись с помощью приложения AudioUnit для iPhone.
Изменения: (начало) Я добавил следующий код
bufferList = (AudioBufferList *)malloc(sizeof(AudioBuffer));
bufferList->mNumberBuffers = 1;
bufferList->mBuffers[0].mNumberChannels = 2;
bufferList->mBuffers[0].mDataByteSize = 1024;
bufferList->mBuffers[0].mData = calloc(256, sizeof(uint32_t));
Изменения: (конец)
static OSStatus recordingCallback(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData) {
OSStatus status;
status = AudioUnitRender(appdelegate->audioUnit,
ioActionFlags,
inTimeStamp,
inBusNumber,
inNumberFrames,
appdelegate->bufferList);
if(status != 0)
NSLog(@"AudioUnitRender status is %d", status);
SInt16* samples = (SInt16*)(ioData->mBuffers[0].mData);
.....
}
исправлено: (Я получаю код ошибки OSStatus -50) - Поскольку я не инициализировал bufferList.
Я EXC_BAD_ACCESS из AudioBuffer (ioData-> mBuffers [0] .mData).
Я не уверен с этой ошибкой.Пожалуйста, помогите мне решить эту проблему.