2010-07-08 87 views

回答

3

如果您定位的iOS 4以上,苹果现在包含Accelerate框架。从苹果的“最新消息”页面:

http://developer.apple.com/technologies/iphone/whats-new.html#api

加快

加速提供了数百个用于iPhone和iPod touch优化的数学函数,包括信号处理例程,快速傅立叶变换,基本矢量和矩阵运算,以及用于保阵矩阵和求解线性方程组的行业标准函数。

0

可以使用EZAudio类来获取频率 Download the Demo Here 并使用这种方法来获得频率

- (void) fft:(EZAudioFFT *)fft updatedWithFFTData:(float *)fftData bufferSize:(vDSP_Length)bufferSize 
{ 
    float maxFrequency = [fft maxFrequency]; 

     NSString *noteName = [EZAudioUtilities noteNameStringForFrequency:maxFrequency 
                   includeOctave:YES]; 
      dispatch_async(dispatch_get_main_queue(), ^{ 
       [audioPlotFreq updateBuffer:fftData withBufferSize:(UInt32)bufferSize]; 
      NSLog(@"Frequncy : %f Highest Note : %@",maxFrequency,noteName); 
     }); 
}