J'essaie de faire l'enregistrement en utilisant AudioUnit pour l'application iPhone.EXC_BAD_ACCESS de AudioBuffer
Changements: (début) J'ai ajouté le code suivant
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));
Changes: (fin)
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);
.....
}
fixe: (Je reçois OSStatus -50 code d'erreur) - Parce que je ne l'ai pas initialiser la bufferList.
Je suis EXC_BAD_ACCESS de AudioBuffer (ioData-> mBuffers [0] .mData).
Je ne suis pas sûr de cette erreur. S'il vous plaît aidez-moi à le résoudre.
Dans quoi votre bufferList est-elle initialisée? Les éléments de cette liste sont généralement ceux où les échantillons enregistrés sont placés. – hotpaw2
Je n'ai rien initialisé dans bufferList. Mais je lis les données de ioData. – jfalexvijay
J'ai eu le problème. En fait AudioBufferList (je veux dire ioData) n'a pas de données. C'est pourquoi, c'est donner cette erreur. Mais je ne sais pas comment le réparer. – jfalexvijay