目录
- Demo 音频波形进度条
- 演示代码(基础波形)
- 关键逻辑解析(基础波形)
- 演示代码(频谱柱)
- 关键逻辑解析(频谱柱)
- 演示代码(流水波形)
- 关键逻辑解析(流水波形)
- 演示代码(心跳波形)
- 关键逻辑解析(心跳波形)
- 演示代码(镜像波形)
- 关键逻辑解析(镜像波形)
- 运行验证
- 扩展复用方向
- 工程下载
本示例介绍5种波形进度条的实现,包括:基础正弦波、频谱柱、流水多层波、心跳波形、镜像柱。
Demo 音频波形进度条
五种波形同屏排开:基础波形(青色正弦)、频谱柱(红橙激活柱)、流水波形(三层青色叠加)、心跳波形(红色发光 ECG)、镜像波形(紫色上下对称柱),底部一根滑杆统一控制进度。QML 用 Canvas 的lineTo连点画波形,配合NumberAnimation驱动time让波形持续流动,心跳波形还要按位置分段计算 P-Q-R-S-T 波。
涉及的核心知识点:
- 正弦函数叠加做复杂波形
- arcTo 拼圆角矩形路径
- 频谱柱按激活状态切色
- 心跳波形 P-Q-R-S-T 分段
- 镜像柱上下对称
- time 周期与波形相位系数整数化避免跳变
以下演示代码来自qml_progress/Demo_AudioWaveBar.qml,为便于阅读,只展示了关键代码。
演示代码(基础波形)
先看最基础的正弦波形结构:
FadeInAnimation