iOS音频频谱动画,仿QQ录音频谱
先上效果图:

display.gif
有需要的请移步GitHub下载:
https://github.com/HuangGY1993/GYSpectrum
用法很简单,示例:
SpectrumView * spectrumView = [[SpectrumView alloc] initWithFrame:CGRectMake(CGRectGetMidX(self.view.frame) - 100,180,200, 40.0)];
spectrumView.text = [NSString stringWithFormat:@"%d",0];
__weak SpectrumView * weakWaver = spectrumView;
spectrumView.itemLevelCallback = ^() {
[self.audioRecorder updateMeters];
//取得第一个通道的音频,音频强度范围是-160到0
float power = [self.audioRecorder averagePowerForChannel:0];
weakWaver.level = power;
};
[self.view addSubview:spectrumView];
使用前请注意:
SpectrumView.frame.size.width / SpectrumView.numberOfItems >= 5
默认SpectrumView.numberOfItems = 20 (可修改,必须为偶数),所以SpectrumView.frame.size.width默认要大于100
例如:SpectrumView * spectrumView = [[SpectrumView alloc] initWithFrame:CGRectMake(0,0,100,40)];
作者:Genie_GY
链接:https://www.jianshu.com/p/502c69062d9e
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2017-05-17 Xcode8 - apploader 上传失败 - ERROR ITMS-90168: "The binary you uploaded was invalid."
2016-05-17 Android中View和ViewGroup介绍
2016-05-17 android之interpolator的用法详解
2016-05-17 Android - View绘图原理总结
2016-05-17 代码讲解Android Scroller、VelocityTracker
2016-05-17 Android Touch系统简介(二):实例详解onInterceptTouchEvent与onTouchEvent的调用过程
2016-05-17 Android的Touch系统简介(一)