libsndfile读取wav文件基本属性

本文的目的是提供一种方法读取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;
}

程序运行结果如下:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
libsndfile库是一个C语言开发的音频文件读写库,它可以进行一些常见的音频格式转换、音频文件拼接、单声道合成为立体声、立体声拆分为单声道等功能。\[3\]该库的官方网站是http://www.mega-nerd.com/libsndfile,你可以在这里找到最新的源代码和支持的音频格式列表。\[2\]如果你想在Windows平台上编译该库,你可以使用IDE打开E:\libsndfile\CMakeBuild\libsndfile.sln,并按照默认步骤进行编译。编译成功后,你可以在E:\libsndfile\CMakeBuild\Debug目录下找到生成的静态库。\[1\]如果你想在嵌入式ARM平台上移植该库,你可以在Ubuntu 16.04上使用以下命令获取源码:sudo apt-get source libsndfile1-dev。\[3\] #### 引用[.reference_title] - *1* *2* [Windows下编译libsndfile音频库](https://blog.csdn.net/caoshangpa/article/details/119682934)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [linux ——libsndfile1-dev库移植至嵌入式arm](https://blog.csdn.net/u014470361/article/details/84947962)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值