0
以下代码曾用于为我工作。我现在用iOS4尝试它没有运气。它在模拟器中工作,但我没有听到任何设备本身。我首先尝试将少量样本记录到NSMutableData
变量中,然后尝试播放它们。AudioQueue和iOS4?
我试过了Apple的SpeakHere示例 - 它可以工作(但是从文件播放 - 不是内存)。
任何想法我错过了什么?
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);