Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iphone中生成正弦波w.r.t歌曲?_Iphone - Fatal编程技术网

如何在iphone中生成正弦波w.r.t歌曲?

如何在iphone中生成正弦波w.r.t歌曲?,iphone,Iphone,我正在iphone上构建一个音乐应用程序,我使用AVAudioPlayer制作了这个应用程序,它正在成功地播放音乐 但现在我的要求是在音乐开始播放时在屏幕上生成一个波形(正弦/平方/数字/模拟),并在音乐文件结束后停止波形 我该怎么做呢?也许你可以用这个项目来绘制曲线。这是一篇很好的博客文章,展示了如何绘制波形: 它还包含关于如何处理大型缓冲区的数据缩减的提示 编辑: 这篇文章是为Mac OS X编写的,但由于它使用石英显示波形,在iPhone上应该可以正常工作。只生成正弦波更容易。 我在UIV

我正在iphone上构建一个音乐应用程序,我使用AVAudioPlayer制作了这个应用程序,它正在成功地播放音乐

但现在我的要求是在音乐开始播放时在屏幕上生成一个波形(正弦/平方/数字/模拟),并在音乐文件结束后停止波形


我该怎么做呢?

也许你可以用这个项目来绘制曲线。

这是一篇很好的博客文章,展示了如何绘制波形:
它还包含关于如何处理大型缓冲区的数据缩减的提示

编辑:

这篇文章是为Mac OS X编写的,但由于它使用石英显示波形,在iPhone上应该可以正常工作。

只生成正弦波更容易。 我在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;
}
float x=75;
浮动yc=50;
浮点数w=0;
while(w