Вниз
Скачать: CL | DM;

Создание WAV файла   Найти похожие ветки 

 
Konstantin_   (2002-06-16 18:28) [0]

Привет всем!

Кто подскажет,как создать пустой файл .WAV

Проблема в том,что компонента MedyaPlayer работает только с созданным файлом,а не позволяет его создать.


 
sevylor ©   (2002-06-19 01:30) [1]

type TWaveHeader = record
Marker1: Array[0..3] of Char;
BytesFollowing: LongInt;
Marker2: Array[0..3] of Char;
Marker3: Array[0..3] of Char;
Fixed1: LongInt;
FormatTag: Word;
Channels: Word;
SampleRate: LongInt;
BytesPerSecond: LongInt;
BytesPerSample: Word;
BitsPerSample: Word;
Marker4: Array[0..3] of Char;
DataBytes: LongInt;
end;

procedure CreateWavFile(const aSampleRate,aDuration,aBits,aChannels:integer;
const aName:String);

implementation


procedure CreateWavFile(const aSampleRate,aDuration,aBits,aChannels:integer;
const aName:String);
var WaveHeader:TwaveHeader;
f:file of byte;
DataBytes:integer;
begin
// for Duration=0 (in ms) DataBytes=0
DataBytes := aChannels;
DataBytes := DataBytes * aSampleRate;
DataBytes := DataBytes * aBits;
DataBytes := DataBytes div 8;
DataBytes := DataBytes * aDuration;
DataBytes := DataBytes div 1000;

WaveHeader.Marker1 := "RIFF";
WaveHeader.BytesFollowing := DataBytes + 36;
WaveHeader.Marker2 := "WAVE";
WaveHeader.Marker3 := "fmt ";
WaveHeader.Fixed1 := 16;
WaveHeader.FormatTag := 1;
WaveHeader.SampleRate := aSampleRate;
WaveHeader.Channels := aChannels;
WaveHeader.BytesPerSecond := aChannels;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * aSampleRate;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond * aBits;
WaveHeader.BytesPerSecond := WaveHeader.BytesPerSecond div 8;
WaveHeader.BytesPerSample := aChannels * aBits div 8;
WaveHeader.BitsPerSample := aBits;
WaveHeader.Marker4 := "data";
WaveHeader.DataBytes := DataBytes;
AssignFile(f,aName);
Rewrite(f);
BlockWrite(f,WaveHeader,SizeOf(WaveHeader));
CloseFile(f);
end;

end.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-55953
Natangelina
2002-09-25 10:44
2002.10.17
dateTimePicker


14-56328
DaruDe
2002-09-23 14:43
2002.10.17
Измена


1-56044
Novichek
2002-10-07 02:12
2002.10.17
ListBox : можно ли отдельные строки выделить шрифтом?


4-56394
weris
2002-09-03 12:19
2002.10.17
приложение не имеющее заголовка


14-56276
TTCustomDelphiMaster
2002-09-21 19:22
2002.10.17
Вот такая программистская драмма!




   Наверх