摘要:
下面是使用低级音频函数播放 wav 的两个方法, 对这个感兴趣的人恐怕很少, 免注释了.使用窗口接受音频输出设备的消息: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = clas... 阅读全文
摘要:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end;var Form1: TForm1;impl... 阅读全文
摘要:
读取函数及测试代码: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(... 阅读全文
摘要:
有两个相关的结构体: TMMIOInfo、TMMCKInfo.TMMIOInfo 是多媒体文件打开后的状态信息, mmioOpen 函数的第二个参数就是这个结构的指针.现在先用到了 TMMCKInfo, 这是文件内部 "块" 的信息, 构成如下:TMMCKInfo = record ckid: FOURCC; {块标识} cksize: DWORD; {块大小} fccType: FOURC... 阅读全文
摘要:
装载格式信息的结构有: TWaveFormat = packed record wFormatTag: Word; nChannels: Word; nSamplesPerSec: DWORD; nAvgBytesPerSec: DWORD; nBlockAlign: Word;end;TPCMWaveFormat = record wf: TWaveFormat; wBitsPer... 阅读全文
摘要:
Wave 文件的前 12 个字节可以这样描述: TRiff = record ckId : DWORD; {'RIFF'} ckSize : DWORD; {文件大小, 不包括前 8 个字节} fccType : DWORD; {'WAVE'}end;我们读出文件的前 12 个字节进行判断, 就基本可以确认它是不是 Wave 文件. uses MMSystem, IOUtils; {这里准... 阅读全文
摘要:
mmio 系列函数用于 Wave 等多媒体文件的 I/O 操作, 相关函数有: mmioOpenmmioClosemmioReadmmioWritemmioFlushmmioSeekmmioRenamemmioGetInfommioSetInfommioCreateChunkmmioAscendmmioDescendmmioAdvancemmioSetBuffermmioStringToFOURC... 阅读全文
摘要:
最近准备学习 DirectSound、DirectMusic、DirectShow, 但刚一接触就碰到了关于 Wave 文件的诸多问题, 只好先回头学学 Wave 文件. Wave 文件的基础知识原文地址(http://www.cnblogs.com/del/archive/2009/11/06/1597088.html)经常见到这样的描述: 44100HZ 16bit stereo 或者 220... 阅读全文