基于VC的声音文件操作(三)
(四)VC中相关的操作
1.mmioOpen
打开一个文件
Syntax
MMIO mmioOpen( LPTSTR szFilename, LPMMIOINFO lpmmioinfo, DWORD dwOpenFlags );
Parameters
- szFilename
- 打开的文件名称
- lpmmioinfo
指向mmioinfo的指针
- dwOpenFlags
MMIO_READ, MMIO_WRITE, and MMIO_READWRITE
Return value
成功返回句柄
2.mmioClose
本函数关闭一个使用mmioOpen函数打开的文件
Syntax
Parameters
- hmmio
-
要关闭的文件的文件句柄
- wFlags
-
标识关闭操作
Return value
成功返回0
3.mmioRead
本函数从一个使用mmioOpen打开的文件中读取指定数量的字节
Syntax
LONG mmioRead( HMMIO hmmio, HPSTR pch, LONG cch );
Parameters
- hmmio
-
文件句柄,被读取的文件的句柄
- pch
-
指向一个缓冲区,包含/存放从文件读取的数据
- cch
-
要从文件读取的字节数
Return value
返回实际读取的字节数.如果已经到达文件尾并且没有更多的字节可供读取,返回值为0,如果从文件读取时发生错误,返回值为-1;
4.mmioCreateChunk
本函数在一个通过mmioOpen函数打开的RIFF文件中建立一个块。
MMRESULT mmioCreateChunk(HMMIO hmmio, LPMMCKINFO lpck,UINT wFlags);
Parameters
hmmio
打开的RIFF文件的文件句柄。
lpck
指向一个缓冲区,接收一个MMCKINFO结构包含的信息,关于这个被创建的块。
wFlags
Flags识别什么类型的块要被创建,List or Riff.
Return Values
如果成功,返回MMSYSERR_NOERROR,否则将包含后面的这些可能的错误值。
5.mmioFlush
本函数写一个文件的I/O缓冲区到磁盘
Syntax
MMRESULT mmioFlush( HMMIO hmmio, UINT fuFlush );
Parameters
- hmmio
- 使用mmioopen打开的文件句柄,
- fuFlush
-
Flag决定如何输出
Return value
成功返回0
6.mmioFOURCC
这个宏转换四个字符到一个四字符代码
版权申明:本站文章均来自网络,如有侵权,请评论 ,收到后立即删除,谢谢!
基于VC的声音文件操作(三)的更多相关文章
- 基于VC的声音文件操作(二)
(二)VC的声音操作 操作声音文件,也就是将WAVE文件打开获取其中的声音数据,根据所需要的声音数据处理算法,进行相应的数学运算,然后将结果重新存储与WAVE格式的文件中去:可以使用CFILE类来实现 ...
- 基于VC的声音文件操作(四)
(五)读取wav的实例 跟据WAVE文件的格式,实现了读取双声道立体声数据的例子如下: BYTE * GetData(Cstring *pString) //获取声音文件数据的函数,pString参数 ...
- 基于VC的声音文件操作(一)
(一)文件格式 1.RIFF文件结构和WAVE文件格式 Windows支持两种RIFF(Resource Interchange File Format,"资源交互文件格式")格式 ...
- 基于VC的声音文件操作(五)
(六)读取波形文件的实例 1.打开文件后,可通过HMMO句柄获得文件中的波形部份:MMCKINFO mmckinfo;mmckinfo.fccType = mmioFOURCC('W','A','V' ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- python学习笔记之文件操作(三)
这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...
- Python 文件操作三
文件重命名os模块中的rename()可以完成对文件的重命名操作rename(需要修改的文件名, 新的文件名) import os os.rename("11.txt", &quo ...
- C#中基于流的XML文件操作笔记
System.Xml.XmlReader和System.Xml.XmlWriters是两个抽象类,XmlReader提供了对于XML数据的快速,非缓存,只进模式的读取器,XmlWriter表示一个编写 ...
- PHP文件操作(三)-文件的写入
fwrite() //对文件进行写入 fwrite(file,string,length)file:必选项,需要写入的文件string:必选项,规定要写入文件的字符串length:可选项,规定要写入 ...
随机推荐
- ios base64图片上传失败问题
今天做图片上传,后台用的是base64解密图片二进制文件,以前都是用表单上传来解决图片上传的,现在后台没有人改,所以研究下base64上传. 需要将图片base64加密,但是调用 [data base ...
- 纸上谈兵:图(graph)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...
- AX 4.0 调用打印设定的功能
PrintJobSettings printJobSettings; PrintJobSettings printJobSettings2; Boolean ok; container packPri ...
- 程序的删除kill、killall
发送信号给程序,或者列出信号集 SYNOPSIS kill [-s SIGNAL | -SIGNAL] PID... kill -l [SIGNAL]... 1.信号操 ...
- 64 位 Ubuntu 下 android adb 不可用解决方法
解决方案: 安装ia32-libs 在终端执行 sudo apt-get install ia32-libs 其间会提示所依赖的某些包不存在,直接 sudo apt-get 安装即可.
- 关于C#不同位数相与或,或赋值时,隐藏位数扩展该留意的问题
__int64 a; char b; a = b; a |= b; 如上情况,当b的最高位为1时,即b=0x80(或更大)时,b在扩展成64过程中会将最高位向高位扩展变成0xfffffffffffff ...
- webform组合查询和分页
1.组合查询(1)数据访问类 //参数1:SQL语句 参数2:哈希表public List<Users> chas(string s,Hashtable has) { List<Us ...
- C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)控制 WebBrowser 控件的外观和行为
在 CSDN 上经常看到以下两个问题:1.在 MFC 应用程序中,如果创建了一个 WebBrowser 控件(包括 CHtmlView 在内),如何可以把该控件的三维边框禁止掉?2.在 MFC 应用程 ...
- Tlist
Tlist (Classes.pas) 在我刚开始接触TList的时候,TList搞得我迷雾重重,都是Capacity属性惹的祸.我查了Delphi的帮助,它说Capacity是TList的最大容量, ...
- Redis过期时间
上次开发用了redis后效果不错,后来在进阶的开发中查询到,如果redis一直不释放也会占用内存,于是就想着给redis加上个过期时间. 具体操作很简单,只要在设置redis的时候加上exp就可以了, ...