关于WAV文件的时间问题 我现在使用MediaPlayer控件调入WAV文件,希望在调入文件时知道文件的播放时间,这能不能完成啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WAV文件内部有它的音频格式,知道格式后用文件中数据长度换算一下就可以确定放音长度了. 很简单,MediaPlayer.Length就是WAV文件的播放时间(按毫秒)! 另有一复杂方法,Wave文件的格式为文件头(44字节)其后跟音频数据,文件头其格式为 TWaveHeader = record //定义一个Wav文件头格式 rId : longint; rLen : longint; wId : longint; fId : longint; fLen : longint; wFormatTag : word; nChannels : word; //声道数 nSamplesPerSec : longint; //每秒采样频率 nAvgBytesPerSec : longint; //每秒字节数 nBlockAlign : word; wBitsPerSample : word; //采样位一般16位和8位 dId : longint; wSampleLength : longint; end;所以WAVE文件的播放时间=(文件长度-44)/nAvgBytesPerSec 秒。 怎么连接远程SQL数据库? 有项目找开发人员 我想要一个工具,能识别出这个Delphi 程序里所用到的控件(范围为Delphi自带的控件)也没功夫去写那个只好求助各位。 如何打包和解包 MDI的window菜单怎么做?望各位高手帮忙!!! TComponentState 在没有delphi IDE 的情况下,请问如何运行程序? delphi中uses的具体用法? 看一下 整个SQL被删了,我把数据库文件.mdf和.log文件恢复回来了,但不知道如何恢复到SQL里面去! 关于给delphi5打ADO补丁的问题?? 简单问题,马上结帖!!
文件头其格式为
TWaveHeader = record //定义一个Wav文件头格式
rId : longint;
rLen : longint;
wId : longint;
fId : longint;
fLen : longint;
wFormatTag : word;
nChannels : word; //声道数
nSamplesPerSec : longint; //每秒采样频率
nAvgBytesPerSec : longint; //每秒字节数
nBlockAlign : word;
wBitsPerSample : word; //采样位一般16位和8位
dId : longint;
wSampleLength : longint;
end;所以WAVE文件的播放时间=(文件长度-44)/nAvgBytesPerSec 秒。