文档详情

libsndfile动态库在VS2015下的调用以及读取wav文件.docx

发布:2017-05-18约1.6千字共3页下载文档
文本预览下载声明
创建一个控制台工程 把libsndfile-1.lib文件拷贝到工程里面。在工程选项里面添加lib文件。 项目—属性 链接器—输入 附加依赖项—编辑 然后点击确定,应用。 拷贝头文件sndfile.h到工程目录,添加到工程。 右击头文件,添加现有项 编写如下代码: #include?stdio.h #include?stdlib.h #include?sndfile.h void save(short?*b1,?int?n); int?main(int?argc,char?*argv[]) { SF_INFO sf_info; SNDFILE?*snd_file; SNDFILE?*fpOut; SF_INFO sf_info_out; short?*buf1; //float?*buf1; sf_count_t cout; sf_info.format?=?0; snd_file?=?sf_open(argv[1],SFM_READ,sf_info); printf?(Using %s.\n,?sf_version_string?())?; printf(File Name : %s\n,?argv[1]); printf(Sample Rate : %d\n,?sf_info.samplerate); printf(Channels : %d\n,?sf_info.channels); printf(Sections : %d\n,?sf_info.sections?); printf(Frames : %d\n,?(int)sf_info.frames?); buf1?=?(short?*)malloc(sf_info.frames?*sizeof(short)*2); sf_info_out.channels?=?sf_info.channels; sf_info_out.samplerate?=?sf_info.samplerate; sf_info_out.frames?=?sf_info.frames; sf_info_out.format?=?(SF_FORMAT_WAV|SF_FORMAT_PCM_16|SF_ENDIAN_LITTLE); fpOut?=?sf_open(argv[2],SFM_WRITE,sf_info_out); if(fpOut?==?NULL) { printf(open out file failed\n); exit(1); } while(?sf_read_short(snd_file,?buf1,?480)?==?480) { sf_write_short(fpOut,buf1,480); } free(buf1); sf_close(snd_file); sf_close(fpOut); return 0; } 输入一个*.wav文件,写的也是*.wav文件。 编译通过运行的时候,提示缺少dll文件,把libsndfile-1.dll拷贝到程序运行的目录。生成的wav文件播放起来声音正常。 参考出处: HYPERLINK /uidid-4057498.html /uidid-4057498.html 方法二:/2068559.html  HYPERLINK /liyuanbhu/article/detailslibsndfile 用法简介: HYPERLINK /liyuanbhu/article/details/liyuanbhu/article/details libsndfile官网:/libsndfile/
显示全部
相似文档