本文的目的是提供一种方法读取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;
}
程序运行结果如下: