本文的目的是提供一种方法读取wav文件的基本属性:音频帧数,格式、通道数和采样率信息。
代码如下所示:
#include <iostream>
#include <QDebug>
#include "sndfile.h"using namespace std;int main() {// 初始化 ALSA 音频采集SNDFILE* sndfile;SF_INFO sfinfo;sndfile = sf_open("output1.wav", SFM_READ, &sfinfo);if(!sndfile){qDebug()<<"无法创建wav文件";return 1;}qDebug()<<"channels = "<<sfinfo.channels; //通道数qDebug()<<"frames = "<<sfinfo.frames; //wav文件总帧数qDebug()<<"samplerate = "<<sfinfo.samplerate; //采样率qDebug()<<"format = "<<sfinfo.format; //音频格式sf_close(sndfile);return 0;
}
程序运行结果如下: