Следующий код, используемый для работы в прошлом. Я пробовал это сейчас с iOS4 без везения. Он работает в симуляторе, но я ничего не слышу на самом устройстве. Сначала я попытаюсь записать несколько выборок в переменную NSMutableData
, а затем попытаюсь воспроизвести их.AudioQueue и iOS4?
Я пробовал образец SpeakHere от Apple - который работает (но он воспроизводится из файла, а не из памяти).
Любая идея, что мне не хватает?
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);