Вниз
Скачать: 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
14-56288
AL2002
2002-09-23 15:42
2002.10.17
Есть ли здесь человек, который живет


1-56204
Just programmer
2002-10-07 16:39
2002.10.17
Прорисовка элементов спика


1-56163
volph777
2002-10-07 10:36
2002.10.17
использование Excel


6-56256
NTDim
2002-08-15 08:49
2002.10.17
Статус сетевой карты (есть сеть - нет сети) ?


3-55935
BlackTiger
2002-09-24 21:17
2002.10.17
Во где грабли... ADOConnection.ConnectionString.




   Наверх