use*_*804 4 audio core-audio sampling
什么是从内置音频输入捕获音频的最简单方法,并且能够在请求时实时读取原始采样值(如.wav中),例如从套接字读取.
希望代码使用Apple的一个框架(音频队列).文档不是很清楚,我需要的是非常基础的.
小智 7
为此尝试AudioQueue框架.你主要要执行3个步骤:
在第3步中,您有机会使用AudioQueueGetProperty()分析传入的音频数据
它大致是这样的:
static void HandleAudioCallback (void                               *aqData,
                                 AudioQueueRef                      inAQ,
                                 AudioQueueBufferRef                inBuffer, 
                                 const AudioTimeStamp               *inStartTime, 
                                 UInt32                             inNumPackets, 
                                 const AudioStreamPacketDescription *inPacketDesc) {
    // Here you examine your audio data
}
static void StartRecording() {
    // now let's start the recording
    AudioQueueNewInput (&aqData.mDataFormat,  // The sampling format how to record
                        HandleAudioCallback,  // Your callback routine
                        &aqData,              // e.g. AudioStreamBasicDescription
                        NULL,
                        kCFRunLoopCommonModes, 
                        0, 
                        &aqData.mQueue);      // Your fresh created AudioQueue
    AudioQueueStart(aqData.mQueue,
                    NULL);
}
我建议Apple AudioQueue服务编程指南,了解有关如何启动和停止AudioQueue以及如何正确设置所有必需对象的详细信息.
您可能还需要仔细研究Apple的演示程序SpeakHere.但这是恕我直言,开始时有点混乱.