ios 波形图的绘制--swift

1.采集音频 → 2. 获取振幅→ 3.绘制。

1. 音频数据获取(根据硬件获取的数据进行数据的处理)

根据场景选择音频来源:

实时音频输入(硬件-麦克风、听诊器等):使用 AVAudioEngine。

音频文件:使用 AVAudioFile 读取本地文件。

实时音频采集


读取音频文件

2.数据处理:提取振幅

将 PCM 数据转换为波形图的垂直振幅值。通常需要对数据做降采样和归一化。

提取振幅

3.绘制波形图

使用Core Graphics绘制波形曲线。以下是两种实现方式:

Core Graphics 直接绘制


CAShapeLayer 动态更新

4. 性能优化

降采样:避免绘制过多点(例如,每秒 44,100 个采样点只需显示 1000 个点)。

后台处理:在 DispatchQueue.global(qos: .userInteractive) 中处理 PCM 数据。

动态渲染:使用 CADisplayLink 实现实时刷新(适合动态波形):

CADisplayLink 优化
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容