一、前言
之前有个项目需要将音频文件的频谱显示出来,想了很多办法,虽然Qt自带有个demo类似的效果,但是离目标效果还是差很远,后面发现fmod这个好东西,还是跨平台的,就一个头文件+一个库文件就行,简单小巧功能强大,人家做的真牛逼。为了不卡住界面,采用了多线程处理。以前上大学时候看到音乐播放器有个频谱效果觉得真的神奇,不知道怎么实现的,有了这个频谱效果,听音乐感觉都要好。
二、实现的功能
* 1:可获取整个声音文件采样值数据
* 2:可实时获取当前播放位置的采样值数据
* 3:可设置采样的步长和数量
* 4:可开始播放/暂停播放/停止播放
* 5:多线程处理,超流畅
* 6:可设置当前播放位置
* 7:可设置音量
三、效果图
四、核心代码
#include "fmodthread.h"FmodThread::FmodThread(QObject *parent) : QThread(