Вниз
Скачать: 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-56010
Mark_mark
2002-09-26 14:45
2002.10.17
Oracle Client


1-56154
AndreyAG
2002-10-07 10:22
2002.10.17
таймер


1-56114
Nomad.kz
2002-10-09 09:33
2002.10.17
в двух соснах заблудился :-) - это про TIcon


3-55932
Bishop
2002-09-18 20:32
2002.10.17
Глюк грида


14-56317
VDen
2002-09-24 17:47
2002.10.17
Доклад по Дельфям.




   Наверх