2011-01-21 66 views
0

我需要在录音时获得振幅。从那以后,我要构造一个幅度调制的正弦波。如何获得声音的幅度?请给我建议。如何在iphone sdk中产生调幅正弦波?

+0

这个问题似乎还不清楚。你想产生一个正弦波并将其播放出来吗?或者记录来自麦克风的音频输入并估算某些频谱的幅度? – hotpaw2 2011-01-21 04:50:48

回答

0

生成正弦波更容易。 好,我实现正弦波入的UIView的drawRect方法如下:

float x=75; 
float yc=50; 
float w=0; 
while (w<=rect.frame.size.width) { 
CGPathMoveToPoint(path, nil, w,y/2); 
CGPathAddQuadCurveToPoint(path, nil, w+x/4, -yc,w+ x/2, y/2); 
CGPathMoveToPoint(path, nil, w+x/2,y/2); 
CGPathAddQuadCurveToPoint(path, nil, w+3*x/4, y+yc, w+x, y/2); 
CGContextAddPath(context, path); 
CGContextDrawPath(context, kCGPathStroke); 
w+=x; 
} 

在此,x是每个正弦波的宽度,而y是所述框架的高度。这将绘制数量的正弦波以适应整个UIViewFrame。它会产生清脆的正弦波,并且yc是控制手柄。尝试一下,你可能会喜欢它。

如果宽度ie。 x与框架的宽度相似,则会产生单个正弦波。

完整正弦波的数量=(帧的宽度)/('x'每个正弦波的宽度) 现在,尝试调整相对于音频功率的波的幅度和频率。