是否有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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top