Le code suivant utilisé pour travailler pour moi dans le passé. Je l'essaie maintenant avec iOS4 sans chance. Il fonctionne dans le simulateur, mais je n'entends rien sur l'appareil lui-même. Je tente d'abord d'enregistrer quelques échantillons dans une variable NSMutableData
, puis j'essaie de les rejouer.AudioQueue et iOS4?
J'ai essayé l'exemple SpeakHere d'Apple - qui fonctionne (mais il lit à partir d'un fichier - pas de mémoire).
Une idée de ce qui me manque?
AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
AudioQueueNewOutput(&m_format,&OutputCallback,self,CFRunLoopGetCurrent(), kCFRunLoopCommonModes,0,&m_device);
AudioQueueBufferRef nBuffer=NULL;
AudioQueueAllocateBuffer(m_device,[data length],&nBuffer);
nBuffer->mAudioDataByteSize=[data length];
[data getBytes:(nBuffer->mAudioData) length:(nBuffer->mAudioDataByteSize)];
AudioQueueEnqueueBuffer(m_device,nBuffer,0,NULL);
AudioQueueStart(m_device,NULL);