题
是否有OS X使用核心音频提取一组在AIFF文件帧成32位的阵列的方式漂浮物适合于执行FFT?
解决方案
是。做到这一点最简单的方法是使用ExtAudioFile API。有没有在苹果的 ConvertFile 示例代码一个很好的例子。看看UseExtAF.cpp。
有关44.1kHz的采样率,32位浮点LPCM的AudioStreamBasicDescription看起来像这样:
AudioStreamBasicDescription fmt;
fmt.mSampleRate = 44100;
fmt.mFormatID = kAudioFormatLinearPCM;
fmt.mFormatFlags = kLinearPCMFormatFlagIsFloat;
fmt.mBitsPerChannel = sizeof(Float32) * 8;
fmt.mChannelsPerFrame = 1; // set this to 2 for stereo
fmt.mBytesPerFrame = fmt.mChannelsPerFrame * sizeof(Float32);
fmt.mFramesPerPacket = 1;
fmt.mBytesPerPacket = fmt.mFramesPerPacket * fmt.mBytesPerFrame;
不隶属于 StackOverflow