基于VC的声音文件操作(四)
(五)读取wav的实例
跟据WAVE文件的格式,实现了读取双声道立体声数据的例子如下:
| BYTE * GetData(Cstring *pString) //获取声音文件数据的函数,pString参数指向要打开的声音文件; { if (pString==NULL) return NULL; HMMIO file1;//定义HMMIO文件句柄; file1=mmioOpen((LPSTR)pString,NULL,MMIO_READWRITE); //以读写模式打开所给的WAVE文件; if(file1==NULL) { MessageBox("WAVE文件打开失败!"); Return NULL; } char style[4];//定义一个四字节的数据,用来存放文件的类型; mmioSeek(file1,8,SEEK_SET);//定位到WAVE文件的类型位置 mmioRead(file1,style,4); if(style[0]!='W'||style[1]!='A'||style[2]!='V'||style[3]!='E') //判断该文件是否为"WAVE"文件格式 { MessageBox("该文件不是WAVE格式的文件!"); Return NULL; } PCMWAVEFORMAT format; //定义PCMWAVEFORMAT结构对象,用来判断WAVE文件格式; |
版权申明:本站文章均来自网络,如有侵权,请评论 ,收到后立即删除,谢谢!
基于VC的声音文件操作(四)的更多相关文章
- 基于VC的声音文件操作(三)
(四)VC中相关的操作 1.mmioOpen 打开一个文件 Syntax MMIO mmioOpen( LPTSTR szFilename, LPMMIOINFO lpmmioinfo, DWORD ...
- 基于VC的声音文件操作(二)
(二)VC的声音操作 操作声音文件,也就是将WAVE文件打开获取其中的声音数据,根据所需要的声音数据处理算法,进行相应的数学运算,然后将结果重新存储与WAVE格式的文件中去:可以使用CFILE类来实现 ...
- 基于VC的声音文件操作(一)
(一)文件格式 1.RIFF文件结构和WAVE文件格式 Windows支持两种RIFF(Resource Interchange File Format,"资源交互文件格式")格式 ...
- 基于VC的声音文件操作(五)
(六)读取波形文件的实例 1.打开文件后,可通过HMMO句柄获得文件中的波形部份:MMCKINFO mmckinfo;mmckinfo.fccType = mmioFOURCC('W','A','V' ...
- 03:linux文件操作四剑客
1.1 find查找命令 1.find命令说明 1. Linux find命令用来在指定目录下查找文件. 2. 任何位于参数之前的字符串都将被视为欲查找的目录名. 3. 如果使用该命令时,不设置任何参 ...
- C#中基于流的XML文件操作笔记
System.Xml.XmlReader和System.Xml.XmlWriters是两个抽象类,XmlReader提供了对于XML数据的快速,非缓存,只进模式的读取器,XmlWriter表示一个编写 ...
- 将声音文件加入VC
概述 VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c++的一个开发平台.有些软件就是这个编出来的...另外还有VB,VF.只是使用不同语言...但是,VC++是Windows ...
- VC++文件操作之最全篇
一.剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分 ...
- CFile CStdioFile CArchive 文件操作之异同(详细)
两者的主要区别: 一. CFile类操作文件默认的是Binary模式,CStdioFile类操作文件默认的是Text模式. 在Binary模式下我们必须输入'\r\n',才能起到回车换行的效果, ...
随机推荐
- iOS中几种常用的数据存储方式
自己稍微总结了一下下,方便大家查看 1.write直接写入文件的方法 永久保存在磁盘中,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据 ...
- C++ 中数串互转、进制转换的类
/******************************************************************** created: 2014/03/16 22:56 file ...
- java_method_下载导入模版
//调用方法 upDown.download(request, response, request.getRealPath("")+"/output/BlackNumbe ...
- Eclipse:Dubug快捷键
Debug快捷键 F5单步调试进入函数内部. F6单步调试不进入函数内部,如果装了金山词霸2006则要把"取词开关"的快捷键改成其他的. F7由函数内部返回到调用处. ...
- Hibernate 注解的用法以及说明
1.类级别注解 @Entity 映射实体类 @Table 映射数句库表 @Entity(name="tableName") - 必须,注解将一个类声明为一个实体be ...
- 更新CocoaPods
终端输入 : sudo gem install -n /usr/local/bin cocoapods –pre 更新了CocoaPods后,在原来的工程中执行了pod install命令后,报这样的 ...
- Java程序设计笔记
程序:编写Java程序,此程序从命令行接收多个数字,求和之后输出结果. 设计思想:首先在程序中设置关于参数个数的长度的公式,用.length公式读出用户所设置的参数的个数,参数默认为字符串类型,利用强 ...
- Python模块:PIL
PIL:是Python Image Library的缩写,图像处理的模块.Image,ImageFont,ImageDraw,ImageFilter Image模块: 常用方法: open() #打开 ...
- 用c和c++的方式实现栈
#include <stdio.h> #include <stdlib.h> #include <assert.h> struct LinkNode { int d ...
- command line
command line terminal vim 编辑工具 vim 编辑命令 j 光标上移 k 光标下移 l 光标左移 h 光标右移 x / dd 删除一行 v 多行模式 :w 保存 :q 不保存退 ...