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);
}
Run Code Online (Sandbox Code Playgroud)
我建议Apple AudioQueue服务编程指南,了解有关如何启动和停止AudioQueue以及如何正确设置所有必需对象的详细信息.
您可能还需要仔细研究Apple的演示程序SpeakHere.但这是恕我直言,开始时有点混乱.