最近在简书上看到一个绘制声波的文章,感觉很炫酷,自己看了文章,实践了一下。Demo中写了简单的实现,获取音波的是参考这篇文章。
实现这个可以分为两步。
1.获取音波数据源。
2.绘制图形。
大致的实现:
获取音波的,这里用到了AVAssetReader,如果不太了解的童鞋可以百度一下。
部分代码如下
if (_audioRecorder.isRecording || _isRecordingPaused)
{
[_audioRecorder updateMeters];
CGFloat normalizedValue = pow (10, [_audioRecorder averagePowerForChannel:0] / 20);
[self.animationVies animationAddPointY:normalizedValue * 150];
}
获取到音波的频率并转化成我们可用的数据后,我们就可以自己发挥想象做各种的展示。
到这就完成了。。这里还是要谢谢开源大神们的项目参考的github上的Demo。