摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi多媒体编程
◎→ 本类最新
在delphi中使用flash控件
在Delphi中实现动态字幕
在Delphi下用Direct Sound 实现混
在Delphi里播放Flash
循环播放音乐
用Delphi 5.0编写在线播放器
如何在全屏幕显示一个AVI文件
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
如何使dbgrid中不同的值显示不同
如何使Delphi得的程序有大小两种
如何使用MAPI发送E-MAIL
如何为Delphi程序添加事件和事件
如何用Delphi6实现对计算机的远程
如何用delphi读取网卡物理号
如何用delphi读取网卡物理号

生成一个波文件


日期:2008-10-20 21:46:35    来源:互联网
   
 ·动态贺卡EXE生成器 ·如何将Wav文件做到EXE文件里

生成一个波文件


Type  

TPCMWaveHeader = record  

  rID : array[0..3] of char; { 'RIFF' Identifier }  

  rLen : longint;  

  wID : array[0..3] of char; { 'WAVE' Identifier }  

  fId : array[0..3] of char; { 'fmt ' Identifier }  

  fLen : longint; { Fixed, must be 16 }  

  wFormatTag : word; { Fixed, must be 1 }  

  nChannels : word; { Mono=1, Stereo=2 }  

  nSamplesPerSec : longint; { SampleRate in Hertz }  

  nAvgBytesPerSec : longint;  

  nBlockAlign : word;  

  nBitsPerSample : word; { Resolution, e.g. 8 or 16 }  

  dId : array[0..3]of char; { 'data' Identifier }  

  dLen : longint; { Number of following data bytes }  

end;  

  

procedure WritePCMWaveFile(Filename : string; Resolution, Channels, Samplerate, Samples : integer; Data : Pointer);  

var h : TPCMWaveHeader;  

  f : file;  

  databytes : integer;  

begin  

  DataBytes:=Samples;  

  DataBytes:=DataBytes*Channels; { double if stereo }  

  DataBytes:=DataBytes*(Resolution div 8); { double if 16 Bit }  

  

  

  FillChar(h,SizeOf(TPCMWaveHeader),#0);  

  with h do  

  begin  

  rID[0]:='R';  

  rID[1]:='I';  

  rID[2]:='F';  

  rID[3]:='F'; { 1st identifier }  

  rLen:=DataBytes+36;  

  wID[0]:='W';  

  wID[1]:='A';  

  wID[2]:='V';  

  wID[3]:='E'; { 2nd identifier }  

  fId[0]:='f';  

  fId[1]:='m';  

  fId[2]:='t';  

  fID[3]:=Chr($20); { 3rdidentifier ends with a space character }  

  fLen:=$10; { Fixed, must be 16 }  

  wFormatTag:=1; { Fixed, must be 1 }  

  nChannels:=Channels; { Channels }  

  nSamplesPerSec:=SampleRate; { Sample rate in Hertz }  

  nAvgBytesPerSec:=SampleRate*Channels*trunc(Resolution div 8);  

  nBlockAlign:=Channels*(Resolution div 8); { Byte order, see below }  

  nBitsPerSample:=Resolution;  

  dId[0]:='d';  

  dId[1]:='a';  

  dId[2]:='t';  

  dId[3]:='a'; { Data identifier }  

  dLen:=DataBytes; { number of following data bytes }  

  end;  

  AssignFile(f,filename);  

  ReWrite(f,1);  

  BlockWrite(f,h,SizeOf(h));  

  BlockWrite(f,pbytearray(data),databytes);  

  CloseFile(f);  

{ The rest of the file is the wave data. Order is low-high for left channel,  

  low-high for right channel, and so on.  

  For mono or 8 bit files make the respective changes. }  

end;

 [1]

动态生成控件的方法及应用

如何将文件拷贝到剪贴板

--->BitComet 0.87┊基于BitTorrent协议高效P2P文件分享┊苦菜花去广告优化绿色版
--->BitComet 0.87┊基于BitTorrent协议高效P2P文件分享┊苦菜花去广告优化绿色版
--->Web Downloader V1.0.8.00┊可处理所有的因特网下载文件任务┊英文绿色免费版
--->GrabFile V3.9 Final┊强大可设置筛选图象文件下载工具┊简体中文绿色特别版
--->HiDownload Pro V6.96┊MMS和Web站点下载文件的下载管理工具┊英文绿色特别版
Tags:  生成 文件
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们