如何在iphone sdk中生成调幅正弦波?

时间:2011-01-21 04:14:29

标签: iphone sdk audio-recording

我需要在录制时获得振幅。从那时起,我将构建一个幅度调制的正弦波。如何获得声音的振幅?请给我建议。

1 个答案:

答案 0 :(得分: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是控制手柄。试试你可能会喜欢它。

如果宽度即。 x类似于帧的宽度,然后将产生单个正弦波。

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