首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >wav文件提取出pcm数据

wav文件提取出pcm数据

作者头像
用户4148957
发布2022-06-14 08:13:21
发布2022-06-14 08:13:21
1.6K0
举报
文章被收录于专栏:C/C++与音视频C/C++与音视频

/******************************************************************************************************* 文件功能:wav文件中提取pcm数据 作者:HFL 日期:2014-1-12 说明:wav文件就是在pcm数据的基础上加了一文件头。文件头的大小为44个字节(没有附件字段的情况,如果有附加字段问46个字节)       ,剔除文件头,就是纯pcm采样过来的数据。  pcm构成要素:采样率 ,声道个数,数据符号特性(一般8位都是无符号的) ********************************************************************************************************/ #include<stdio.h> #include<stdlib.h> void main() { FILE *infile, *outfile; char *buf = NULL; long length;    if((infile = fopen ("e:\\1.wav", "rb+"))==NULL) { printf("Open the 1.wav failed\n"); return ; } else { printf("Open the 1.wav success\n"); } if((outfile = fopen ("e:\\2.pcm", "wb"))==NULL) { printf("Open the 2.pcm failed\n"); return ; } else { printf("Open the 2.pcm success\n"); } /*获取文件的长度*/ fseek(infile,0,SEEK_END); length=ftell(infile); buf = (char*)malloc(length-43);/*文件数据段长度等于文件总长度-文件头长度位置*/

 fseek(in,44,SEEK_SET);  fread(buf,1,length-44,in); fwrite(buf,1,length-44,outfile);/*文件数据段长度为a-44,但指针是指向前一个指针*/ free( buf ); fclose(infile); fclose(outfile); }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档